Chinese remainder theorem
The Chinese remainder theorem is any of a number of related results in abstract algebra and number theory.
Simultaneous congruences of integers
The original form of the theorem, contained in a book by the Chinese mathematician Qin Jiushao published in 1247, is a statement about simultaneous congruences (see modular arithmetic). Suppose n1, ..., nk are positive integers which are pairwise coprime (meaning gcd (ni, nj) = 1 whenever i ≠ j). Then, for any given integers a1, ..., ak, there exists an integer x solving the system of simultaneous congruences
Pseudocode "subtitle":
x_solves_it=true; for(i= 1; i <= k; i++) if(x % n[i] != a[i] % n[i]) x_solves_it=false;
Furthermore, all solutions x to this system are congruent modulo the product n = n1...nk.
A solution x can be found as follows. For each i, the integers ni and n/ni are coprime, and using the extended Euclidean algorithm we can find integers r and s such that r ni + s n/ni = 1. If we set ei = s n/ni, then we have
for j ≠ i.
for (i= 1; i <= k; i++) {r, s}= ExtendedEuclid( n[i], n / n[i] ); e[i]= s * n / n[i]; for(j= 1; j <= k; j++) if (j != i) assert( e[i] % n[i] == 1 && e[i] % n[j] == 0 );
The solution to the system of simultaneous congruences is therefore
for(i= 1; i <= k; i++) x += a[i] * e[i];
For example, consider the problem of finding an integer x such that
x % 3 == 2 % 3 && x % 4 == 3 % 4 && x % 5 == 2 % 5
Using the extended Euclidean algorithm for 3 and 4×5 = 20, we find (-13) × 3 + 2 × 20 = 1, i.e. e1 = 40 (e[1] == 40
). Using the Euclidean algorithm for 4 and 3×5 = 15, we get (-11) × 4 + 3 × 15 = 1. Hence, e2 = 45 (e[2] == 45
). Finally, using the Euclidean algorithm for 5 and 3×4 = 12, we get 5 × 5 + (-2) × 12 = 1, meaning e3 = -24 (e[3] == -24
). A solution x is therefore 2 × 40 + 3 × 45 + 2 × (-24) = 167. All other solutions are congruent to 167 modulo 60, which means that they are all congruent to 47 modulo 60.
Sometimes, the simultaneous congruences can be solved even if the ni's (n[i]'s) are not pairwise coprime. The precise criterion is as follows: a solution x exists if and only if ai ≡ aj (mod gcd(ni, nj)) (a[i] == a[j] % gcd(n[i], n[j]
) for all i and j. All solutions x are congruent modulo the least common multiple of the ni (n[i]
).
Using the method of successive substitution can often yield solutions to simultaneous congruences, even when the moduli are not pairwise coprime.
Statement for principal ideal domains
For a principal ideal domain R the Chinese remainder theorem takes the following form: If u1, ..., uk are elements of R which are pairwise coprime, and u denotes the product u1...uk, then the ring R/uR and the product ring R/u1R x ... x R/ukR are isomorphic via the isomorphism
such that
The inverse isomorphism can be constructed as follows. For each i, the elements ui and u/ui are coprime, and therefore there exist elements r and s in R with
Set ei = s u/ui. Then the inverse is the map
such that
Statement for general rings
One of the most general forms of the Chinese remainder theorem can be formulated for rings and (two-sided) ideals. If R is a ring and I1, ..., Ik are ideals of R which are pairwise coprime (meaning that Ii + Ij = R whenever i ≠ j), then the product I of these ideals is equal to their intersection, and the ring R/I is isomorphic to the product ring R/I1 x R/I2 x ... x R/Ik via the isomorphism
such that