private static void Solve(int a, int b, out int x, out int y) { // Solve ax + by = 0 bool sameSign = Math.Sign(a) == Math.Sign(b); int[] d = Powers.FromFraction(Math.Abs(b), Math.Abs(a)); int[] d0, d1; Powers.Split(d, out d0, out d1); x = (int)Powers.ToInt(d0); y = (int)Powers.ToInt(d1); if (sameSign) { y = -y; } }
public bool IsInteger() { Pow[] ns, ds; Powers.Split(pows, out ns, out ds); return(Powers.GetLength(ds) == 0); }