public Rational DivideBy(Rational x) { Rational div = new Rational(); if (x.Numerator < 0) { div.Numerator = this.Numerator * x.Denominator; div.Denominator = this.Denominator * (-x.Numerator); div = div.Negate(); } else if (x.Numerator > 0) { div.Numerator = this.Numerator * x.Denominator; div.Denominator = this.Denominator * x.Numerator; } else { throw new DivideByZeroException(); } div.Even(); return(div); }