中国剩余定理
提示:该定理可高效地求解一元同余方程组
一、习题10.1
解: ∵ \because ∵ 221 = 13 x 17
由 CRT 可将该式子转换成一元同余方程组:
x
≡
\equiv
≡
200
0
2019
2000^{2019}
20002019 (mod 17)
x
≡
\equiv
≡
200
0
2019
2000^{2019}
20002019 (mod 13)
由费尔马小定理,可将以上方程简化为:
x
≡
\equiv
≡
200
0
3
2000^{3}
20003 (mod 17)
≡
\equiv
≡
1
1
3
11^{3}
113 (mod 17)
x
≡
\equiv
≡
200
0
3
2000^{3}
20003 (mod 13)
≡
\equiv
≡
1
1
3
11^{3}
113 (mod 13)
计算后可得:
x
≡
\equiv
≡ 5 (mod 17)
x
≡
\equiv
≡ 3 (mod 13)
令 a = 5, b = 3, p = 17, q = 13, n = pq = 221
通过 egcd 算法可得, p − 1 p^{-1} p−1 = 10, q − 1 q^{-1} q−1 = 4 4 4
令 y ≡ \equiv ≡ a q q − 1 aqq^{-1} aqq−1 + b p p − 1 bpp^{-1} bpp−1 (mod n)
代入数据后解得, y = 5
所以原式的解为 5
二、习题10.2
解:记 a = 8, b = 3, p = 11, q = 19, n = pq = 209
通过 egcd 算法可得, p − 1 p^{-1} p−1 = 7, q − 1 q^{-1} q−1 = 7
令 y ≡ \equiv ≡ a q q − 1 aqq^{-1} aqq−1 + b p p − 1 bpp^{-1} bpp−1 (mod n)
代入数据后解得, y = 41
验证可知,y 是正确解
三、习题10.3
解:令 M M M = m 0 m 1 . . . m n − 1 m_0m_1...m_{n-1} m0m1...mn−1 = 5 ∗ 7 ∗ 9 ∗ 11 5*7*9*11 5∗7∗9∗11 = 3465
记 b i b_i bi = M m i M \over m_{i} miM, b i − 1 b_i^{-1} bi−1 为 mod 5 下的逆元。则有:
x x x = ∑ i = 0 n − 1 a i b i b i − 1 \sum_{i=0}^{n-1} a_ib_ib_i^{-1} ∑i=0n−1aibibi−1 (mod M M M)
x 0 x_0 x0 = 1 ∗ ( 7 ∗ 9 ∗ 11 ) ∗ ( 7 ∗ 9 ∗ 11 ) − 1 1*(7*9*11)*(7*9*11)^{−1} 1∗(7∗9∗11)∗(7∗9∗11)−1 = 1 ∗ 693 ∗ 2 1*693*2 1∗693∗2
x 1 x_1 x1 = 2 ∗ ( 5 ∗ 9 ∗ 11 ) ∗ ( 5 ∗ 9 ∗ 11 ) − 1 2*(5*9*11)*(5*9*11)^{−1} 2∗(5∗9∗11)∗(5∗9∗11)−1 = 1 ∗ 495 ∗ 3 1*495*3 1∗495∗3
x 2 x_2 x2 = 3 ∗ ( 5 ∗ 7 ∗ 11 ) ∗ ( 5 ∗ 7 ∗ 11 ) − 1 3*(5*7*11)*(5*7*11)^{−1} 3∗(5∗7∗11)∗(5∗7∗11)−1 = 1 ∗ 385 ∗ 4 1*385*4 1∗385∗4
x 3 x_3 x3 = 4 ∗ ( 5 ∗ 7 ∗ 9 ) ∗ ( 5 ∗ 7 ∗ 9 ) − 1 4*(5*7*9)*(5*7*9)^{−1} 4∗(5∗7∗9)∗(5∗7∗9)−1 = 1 ∗ 315 ∗ 8 1*315*8 1∗315∗8
∴ \therefore ∴ x x x = ( x 0 + x 1 + x 2 + x 3 x_0+x_1+x_2+x_3 x0+x1+x2+x3) mod M M M = 1731
四、习题10.4
解:根据同余的性质可得,
∃ \exists ∃ k 1 , k 2 ∈ k_1,k_2 \in k1,k2∈ Z \mathbb{Z} Z ,使得
x
x
x =
k
1
m
+
a
k_1m + a
k1m+a
x
x
x =
k
2
n
+
a
k_2n + a
k2n+a
两式相减得, k 1 m = k 2 n k_1m = k_2n k1m=k2n
又因为 m m m 和 n n n 是互素的正整数
则必然存在 r 1 , r 2 ∈ r_1,r_2 \in r1,r2∈ Z \mathbb{Z} Z ,使得
k
1
k_1
k1 =
r
1
n
r_1n
r1n
k
2
k_2
k2 =
r
2
m
r_2m
r2m
代入以上关于 x x x 的方程组可得,
x
x
x =
r
1
n
m
+
a
r_1nm + a
r1nm+a
x
x
x =
r
2
m
n
+
a
r_2mn + a
r2mn+a
所以, x x x mod m n mn mn = a a a
五、习题10.5
解: ∵ \because ∵ p 和 q 是不同的两个素数
由费尔马小定理得,
p
q
−
1
p^{q-1}
pq−1
≡
\equiv
≡ 1 (mod q)
q
p
−
1
q^{p-1}
qp−1
≡
\equiv
≡ 1 (mod p)
又 ∵ \because ∵ p q − 1 p^{q-1} pq−1 和 q p − 1 q^{p-1} qp−1 分别是 p,q 的倍数,则
p
q
−
1
p^{q-1}
pq−1
≡
\equiv
≡ 0 (mod p)
q
p
−
1
q^{p-1}
qp−1
≡
\equiv
≡ 0 (mod q)
两式相加得,
p
q
−
1
p^{q-1}
pq−1 +
q
p
−
1
q^{p-1}
qp−1
≡
\equiv
≡ 1 (mod q)
p
q
−
1
p^{q-1}
pq−1 +
q
p
−
1
q^{p-1}
qp−1
≡
\equiv
≡ 1 (mod p)
由习题 10.4 的结论可知, p q − 1 p^{q-1} pq−1 + q p − 1 q^{p-1} qp−1 ≡ \equiv ≡ 1 (mod pq)