public object divide(object x, object y)
{
int n = Convert.ToInt32(x);
int val = Convert.ToInt32(y);
int gcd1 = gcd(n, val);
if (gcd1 == 0)
return 0;
n = n / gcd1;
int d = val / gcd1;
if (d == 1)
return n;
if (d < 0)
{
n = -n;
d = -d;
}
return new Ratio(BigInteger.valueOf(n), BigInteger.valueOf(d));
}