1. 一般形式
先拿一段古文作为引入:
今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?
这是一个同余方程组,让我们把它翻译一下:
{ x ≡ 2 ( m o d 3 ) x ≡ 3 ( m o d 5 ) x ≡ 2 ( m o d 7 ) \begin{cases}x\equiv2\pmod{3}\\x\equiv3\pmod{5}\\x\equiv2\pmod{7}\end{cases} ⎩ ⎨ ⎧x≡2(mod3)x≡3(mod5)x≡2(mod7)
而中国剩余定理就可以解决部分类似的同余方程组,具体来说:
{ x ≡ a 1 ( m o d b 1 ) x ≡ a 2 ( m o d b 2 ) ⋯ x ≡ a n ( m o d b n ) \begin{cases}x\equiv a_1\pmod{b_1}\\x\equiv a_2\pmod{b_2}\\\cdots\\x\equiv a_n\pmod{b_n}\end{cases} ⎩ ⎨ ⎧x≡a1(modb1)x≡a2(modb2)⋯x≡an(modbn)
其中 b 1 , b 2 , ⋯ , b n b_1,b_2,\cdots,b_n b1,b2,⋯,bn 均两两互质
2. 使用方法
我们设: M = ∏ i = 1 n b i , M i = M b i , M i M i − 1 ≡ 1 ( m o d b i ) M=\prod\limits_{i=1}^nb_i,M_i=\dfrac{M}{b_i},M_iM_i^{-1}\equiv1\pmod{b_i} M=i=1∏nbi,Mi=biM,MiMi−1≡1(modbi)
则原方程最小整数解为 x = ( ∑ i = 1 n a i × M i × M i − 1 ) m o d M x=(\sum\limits_{i=1}^na_i\times M_i\times M_i^{-1})\bmod M x=(i=1∑nai×Mi×Mi−1)modM
3. 证明
首先,假设 x x x 是原方程的解,那么,对于方程组中的第 i i i 个方程而言,都可进行如下分解:
x ≡ a i ( m o d b i ) ∑ j = 1 n a j × M j × M j − 1 ≡ a i ( m o d b i ) a i × M i × M i − 1 + ∑ j = 1 , j ≠ i n a j × M j × M j − 1 ≡ a i ( m o d b i ) \begin{aligned}x&\equiv a_i\pmod{b_i}\\ \sum\limits_{j=1}^na_j\times M_j\times M_j^{-1}&\equiv a_i\pmod{b_i}\\ a_i\times M_i\times M_i^{-1}+\sum\limits_{j=1,j\ne i}^na_j\times M_j\times M_j^{-1}&\equiv a_i\pmod{b_i}\end{aligned} xj=1∑naj×Mj×Mj−1ai×Mi×Mi−1+j=1,j=i∑naj×Mj×Mj−1≡ai(modbi)≡ai(modbi)≡ai(modbi)
我们先来看最复杂的一团东西: ∑ j = 1 , j ≠ i n a j × M j × M j − 1 \sum\limits_{j=1,j\ne i}^na_j\times M_j\times M_j^{-1} j=1,j=i∑naj×Mj×Mj−1
考虑如何化简
首先,对于任意 i , j ( i ≠ j ) i,j(i\ne j) i,j(i=j) 来说,都有 b i ∣ M j b_i\mid M_j bi∣Mj
显然,因为 M j = ∏ i = 1 n b i b j M_j=\dfrac{\prod\limits_{i=1}^nb_i}{b_j} Mj=bji=1∏nbi,而 i ≠ j i\ne j i=j,所以 b i ∣ M j b_i\mid M_j bi∣Mj 成立
由此可得:
M j ≡ 0 ( m o d b i ) a j × M j × M j − 1 ≡ 0 ( m o d b i ) ∑ j = 1 , j ≠ i n a j × M j × M j − 1 ≡ 0 ( m o d b i ) \begin{aligned}M_j&\equiv0\pmod{b_i}\\a_j\times M_j\times M_j^{-1}&\equiv0\pmod{b_i}\\\sum\limits_{j=1,j\ne i}^na_j\times M_j\times M_j^{-1}&\equiv 0\pmod{b_i}\end{aligned} Mjaj×Mj×Mj−1j=1,j=i∑naj×Mj×Mj−1≡0(modbi)≡0(modbi)≡0(modbi)
因此,上面的式子可化简为:
a i × M i × M i − 1 ≡ a i ( m o d b i ) a_i\times M_i\times M_i^{-1}\equiv a_i\pmod{b_i} ai×Mi×Mi−1≡ai(modbi)
又由 M i − 1 M_i^{-1} Mi−1 的定义可得: M i M i − 1 ≡ 1 ( m o d b i ) M_iM_i^{-1}\equiv1\pmod{b_i} MiMi−1≡1(modbi),所以该式子还可进一步化简:
a i ≡ a i ( m o d b i ) a_i\equiv a_i\pmod{b_i} ai≡ai(modbi)
式子恒成立,所以 x x x 就是原方程的解
我们回头来看看这个方程:
{ x ≡ 2 ( m o d 3 ) x ≡ 3 ( m o d 5 ) x ≡ 2 ( m o d 7 ) \begin{cases}x\equiv2\pmod{3}\\x\equiv3\pmod{5}\\x\equiv2\pmod{7}\end{cases} ⎩ ⎨ ⎧x≡2(mod3)x≡3(mod5)x≡2(mod7)
显然,有 M = 105 , M 1 = 35 , M 1 − 1 = 2 , M 2 = 21 , M 2 − 1 = 1 , M 3 = 15 , M 3 − 1 = 1 M=105,M_1=35,M_1^{-1}=2,M_2=21,M_2^{-1}=1,M_3=15,M_3^{-1}=1 M=105,M1=35,M1−1=2,M2=21,M2−1=1,M3=15,M3−1=1
所以 x = ( 2 × 35 × 2 + 3 × 21 × 1 + 2 × 15 × 1 ) m o d 105 = 23 x=(2\times 35\times 2+3\times 21\times 1+2\times 15\times 1)\bmod 105=23 x=(2×35×2+3×21×1+2×15×1)mod105=23