Jump to content

Chinese remainder theorem

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 82.65.128.60 (talk) at 15:46, 31 October 2004. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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 ij). 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 ji.

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 aiaj (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 ij), 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