中国剩余定理 CRT
给定
n
n
n 个一次同余式, 求
X
X
X
S
=
{
X
≡
b
1
m
o
d
m
1
X
≡
b
2
m
o
d
m
2
⋯
⋯
⋯
⋯
X
≡
b
n
m
o
d
m
n
S=\left\{\begin{array}{l} X \equiv b_{1} \bmod m_{1} \\ X \equiv b_{2} \bmod {m}_{2} \\ \cdots \cdots \\ \cdots \cdots \\ X \equiv b_{n} \bmod m_{n} \end{array}\right.
S=⎩
⎨
⎧X≡b1modm1X≡b2modm2⋯⋯⋯⋯X≡bnmodmn
其中 m i m_{i} mi 是两两互素的, 即对 1 ⩽ i , j ⩽ k , i ≠ j 1 \leqslant i, j \leqslant k, i \neq j 1⩽i,j⩽k,i=j 有 gcd ( m i , m j ) = 1 \operatorname{gcd}\left(m_{i}, m_{j}\right)=1 gcd(mi,mj)=1
对于这样形式的一次同余式, 则对任意的整数: a 1 , a 2 , . . . , a n a_1, a_2, ... , a_n a1,a2,...,an,方程组 S {\displaystyle S} S 有解,并且通解可以用如下方式构造得到
把
S
S
S 写成
{
k
1
k
1
−
1
≡
b
1
m
o
d
m
1
k
2
k
2
−
1
≡
b
2
m
o
d
m
2
⋯
⋯
⋯
⋯
k
n
k
n
−
1
≡
b
n
m
o
d
m
n
\left\{\begin{array}{l} k_1 k_{1}^{-1} \equiv b_{1} \bmod m_{1} \\ k_2k_{2}^{-1} \equiv b_{2} \bmod {m}_{2} \\ \cdots \cdots \\ \cdots \cdots \\ k_nk_{n}^{-1} \equiv b_{n} \bmod m_{n} \end{array}\right.
⎩
⎨
⎧k1k1−1≡b1modm1k2k2−1≡b2modm2⋯⋯⋯⋯knkn−1≡bnmodmn
则方程的通解可以表示为
X
≡
k
1
k
1
−
1
b
1
+
k
2
k
2
−
1
b
2
+
…
…
+
k
n
k
n
−
1
b
n
m
o
d
m
\begin{aligned} X \equiv & k_{1} k_{1}^{-1} b_{1}+k_{2} k_{2}^{-1} b_{2}+\ldots \ldots+k_{n} k_{n}{ }^{-1} b_{n} \bmod m \end{aligned}
X≡k1k1−1b1+k2k2−1b2+……+knkn−1bnmodm
其中:
m
=
m
1
m
2
…
.
.
m
k
,
k
i
=
m
m
i
,
k
i
k
i
−
1
≡
1
m
o
d
m
i
\begin{aligned} &m_{}=m_{1} m_{2} \ldots . . m_{k}, \\ &k_{i}=\frac{m}{m_{i}} , \\ &k_{i} k_{i}^{-1} \equiv 1 \bmod m_{i} \end{aligned}
m=m1m2…..mk,ki=mim,kiki−1≡1modmi
应用举例
求解一次同余式
S = { X ≡ 2 m o d 3 X ≡ 3 m o d 5 X ≡ 2 m o d 7 S=\left\{\begin{array}{l} X \equiv 2 \bmod 3 \\ X \equiv 3 \bmod 5 \\ X \equiv 2 \bmod 7 \end{array}\right. S=⎩ ⎨ ⎧X≡2mod3X≡3mod5X≡2mod7
经验证, 3 , 5 , 7 3,5,7 3,5,7 这三个模数两两互质, 故可以用中国剩余定理构造出通解
把由上述通解公式, 把
S
S
S 写成
{
35
k
1
−
1
≡
2
m
o
d
3
21
k
2
−
1
≡
3
m
o
d
5
15
k
3
−
1
≡
2
m
o
d
7
\left\{\begin{array}{l} 35k_1^{-1} \equiv 2 \bmod 3 \\ 21k_2^{-1} \equiv 3 \bmod 5 \\ 15k_3^{-1} \equiv 2 \bmod 7 \end{array}\right.
⎩
⎨
⎧35k1−1≡2mod321k2−1≡3mod515k3−1≡2mod7
由乘法逆元的性质:
k
k
−
1
≡
a
m
o
d
b
⇒
k
k
−
1
≡
1
m
o
d
b
kk^{-1}\equiv a \bmod b \Rightarrow kk^{-1}\equiv 1 \bmod b
kk−1≡amodb⇒kk−1≡1modb
{
35
k
1
−
1
≡
1
m
o
d
3
21
k
2
−
1
≡
1
m
o
d
5
15
k
3
−
1
≡
1
m
o
d
7
\left\{\begin{array}{l} 35k_1^{-1} \equiv 1 \bmod 3 \\ 21k_2^{-1} \equiv 1 \bmod 5 \\ 15k_3^{-1} \equiv 1 \bmod 7 \end{array}\right.
⎩
⎨
⎧35k1−1≡1mod321k2−1≡1mod515k3−1≡1mod7
求得
k
1
−
1
=
2
,
k
2
−
1
=
1
,
k
3
−
1
=
1
k_1^{-1}=2,k_2^{-1}=1,k_3^{-1}=1
k1−1=2,k2−1=1,k3−1=1
由中国剩余定理的通解公式, 求得
X
≡
k
1
k
1
−
1
b
1
+
k
2
k
2
−
1
b
2
+
…
…
+
k
n
k
n
−
1
b
n
m
o
d
m
X
≡
35
×
2
×
2
+
21
×
1
×
3
+
15
×
1
×
2
m
o
d
3
×
5
×
7
X
≡
233
m
o
d
105
X
≡
23
m
o
d
105
\begin{aligned} X \equiv & k_{1} k_{1}^{-1} b_{1}+k_{2} k_{2}^{-1} b_{2}+\ldots \ldots+k_{n} k_{n}{ }^{-1} b_{n} \bmod m\\ X \equiv & 35\times2\times2+21\times1\times3+15\times1\times2 \bmod 3\times5\times7\\ X \equiv & 233\bmod 105\\ X \equiv & 23 \bmod 105 \end{aligned}
X≡X≡X≡X≡k1k1−1b1+k2k2−1b2+……+knkn−1bnmodm35×2×2+21×1×3+15×1×2mod3×5×7233mod10523mod105
所以
X
=
105
t
+
23
X=105t+23
X=105t+23
求大数的取模结果
求 2 1000000 m o d 77 求 \ 2^{1000000}\bmod 77 求 21000000mod77
设 X ≡ b m o d 77 X\equiv b \bmod 77 X≡bmod77, 令 X = 2 1000000 , m = m 1 × m 2 = 11 × 7 = 77 , gcd ( 11 , 7 ) = 1 X=2^{1000000},\ m=m_1\times m_2=11\times 7 =77,\ \gcd(11,7)=1 X=21000000, m=m1×m2=11×7=77, gcd(11,7)=1
此处将模数拆成了两个互质的数
已知: X ≡ k 1 k 1 − 1 b 1 + k 2 k 2 − 1 b 2 + … … + k n k n − 1 b n m o d m X \equiv k_{1} k_{1}^{-1} b_{1}+k_{2} k_{2}^{-1} b_{2}+\ldots \ldots+k_{n} k_{n}{ }^{-1} b_{n} \bmod m X≡k1k1−1b1+k2k2−1b2+……+knkn−1bnmodm
将其拆成两个一次同余式
{
11
k
1
−
1
≡
b
1
m
o
d
7
7
k
2
−
1
≡
b
2
m
o
d
11
\left\{\begin{array}{l} 11k_1^{-1} \equiv b_1 \bmod 7 \\ 7k_2^{-1} \equiv b_2 \bmod 11 \\ \end{array}\right.
{11k1−1≡b1mod77k2−1≡b2mod11
由乘法逆元的性质:
k
k
−
1
≡
a
m
o
d
b
⇒
k
k
−
1
≡
1
m
o
d
b
kk^{-1}\equiv a \bmod b \Rightarrow kk^{-1}\equiv 1 \bmod b
kk−1≡amodb⇒kk−1≡1modb
{
11
k
1
−
1
≡
1
m
o
d
7
7
k
2
−
1
≡
1
m
o
d
11
\left\{\begin{array}{l} 11k_1^{-1} \equiv 1 \bmod 7 \\ 7k_2^{-1} \equiv 1 \bmod 11 \\ \end{array}\right.
{11k1−1≡1mod77k2−1≡1mod11
所以
k
1
−
1
=
2
,
k
2
−
1
=
8
k_1^{-1}=2, k_2^{-1}=8
k1−1=2,k2−1=8,
注意到
b 1 = 2 1000000 m o d 7 = ( 2 6 ) 166666 2 4 ≡ 2 m o d 7 b_1=2^{1000000}\bmod 7=(2^6)^{166666}2^4\equiv 2\bmod 7 b1=21000000mod7=(26)16666624≡2mod7
b 2 = 2 1000000 m o d 11 = ( 2 10 ) 100000 ≡ 1 m o d 11 b_2=2^{1000000}\bmod 11=(2^{10})^{100000}\equiv 1\bmod 11 b2=21000000mod11=(210)100000≡1mod11
故
X ≡ M 1 M 1 − 1 b 1 + M 2 M 2 − 1 b 2 m o d m ≡ ( 11 × 2 × 2 + 7 × 8 × 1 ) m o d 77 ≡ 23 m o d 77 X\equiv M_1M_1^{-1}b_1+M_2M_2^{-1}b_2\bmod m \equiv (11\times2\times2+7\times8\times1) \bmod 77\equiv 23 \bmod 77 X≡M1M1−1b1+M2M2−1b2modm≡(11×2×2+7×8×1)mod77≡23mod77