Solving diophantine equations, i.e. equations on integers.
exceptionNo_solution
Raised when a system has no solution.
val solve_congruences : (int * int * int)Stdlib.Seq.t-> int * int
solve_congruences @@ List.to_seq [ (a1, b1, m1) ; … ; (ak, bk, mk) ], provided that the mi are non-zero, solves the following linear congruence system of unknown x:
a1 · x ≡m1 b1
…
ak · x ≡mk bk
TODO: complexity?
returns
a pair (x, m) where 0 ≤ x < m, which represents the set of solutions x + mℤ,