因为在《孙子算经》中有提到,所以也叫孙子定理
不知道同学们是否遇到了这种方程:
可能有的人会说,啊这什么啊,有的人就会说这不中国剩余定理吗?手
没错这就是要用中国剩余定理解决的同余方程
- 为了求得这种一次的线性的同余方程的通解,就有了中国剩余定理(前提是 m 1 m_1 m1, m 2 m_2 m2… m n m_n mn两两互质,一般 m 1 m_1 m1, m 2 m_2 m2,…, m n m_n mn都为质数)
下面给出通解:
我们设:
M
=
m
1
M=m_1
M=m1
×
\times
×
m
2
m_2
m2
×
\times
×…
×
\times
×
m
n
m_n
mn=
∏
i
=
1
n
m
i
\prod\limits_{i=1}^nm_i
i=1∏nmi
M
i
=
M
/
m
i
M_i=M/m_i
Mi=M/mi ,
∀
i
∈
{
1
,
2
,
.
.
.
,
n
}
\forall i\in\{1,2,...,n\}
∀i∈{1,2,...,n}
t
i
=
M
i
−
1
(
仅
当
m
o
d
m
i
下
时
t
i
时
M
i
的
倒
数
)
t_i=M_i^{-1}(仅当mod\ m_i下时t_i时M_i的倒数)
ti=Mi−1(仅当mod mi下时ti时Mi的倒数)
即:
t
i
M
i
≡
1
(
m
o
d
m
i
)
t_iM_i\equiv1\pmod{m_i}
tiMi≡1(modmi) ,
∀
i
∈
{
1
,
2
,
.
.
.
,
n
}
\forall i\in\{1,2,...,n\}
∀i∈{1,2,...,n}
解得:
x
=
a
1
t
1
M
1
+
a
2
t
2
M
2
+
.
.
.
+
a
n
t
n
M
n
+
k
M
=
∑
i
=
1
n
a
i
t
i
M
i
+
k
M
x=a_1t_1M_1+a_2t_2M_2+...+a_nt_nM_n+kM=\sum\limits_{i=1}^na_it_iM_i+kM
x=a1t1M1+a2t2M2+...+antnMn+kM=i=1∑naitiMi+kM,
k
k
k为任意整数
且因为
M
∣
k
M
M|kM
M∣kM,所以
m
o
d
M
mod M
modM的意义下有唯一解
x
=
(
∑
i
=
1
n
a
i
t
i
M
i
)
m
o
d
M
x=(\sum\limits_{i=1}^na_it_iM_i)\mod{M}
x=(i=1∑naitiMi)modM
下面给出证明:
∵
m
1
,
m
2
,
.
.
.
m
n
两
两
互
质
\because m_1,m_2,...m_n两两互质
∵m1,m2,...mn两两互质
∴
g
c
d
(
m
i
,
M
i
)
=
1
,
即
M
i
与
m
i
互
质
\therefore gcd(m_i,M_i)=1,即M_i与m_i互质
∴gcd(mi,Mi)=1,即Mi与mi互质
∴
总
有
整
数
解
t
i
使
得
t
i
M
i
+
x
m
i
=
1
(
好
像
是
裴
蜀
定
理
)
,
又
可
写
成
:
t
i
M
i
≡
1
(
m
o
d
m
i
)
\therefore 总有整数解t_i使得t_iM_i+xm_i=1(好像是裴蜀定理),又可写成:t_iM_i\equiv1 \pmod{m_i}
∴总有整数解ti使得tiMi+xmi=1(好像是裴蜀定理),又可写成:tiMi≡1(modmi)
∴
a
i
t
i
M
i
≡
a
i
×
1
≡
a
i
(
m
o
d
m
i
)
\therefore a_it_iM_i\equiv\ a_i \times 1 \equiv\ a_i\pmod{m_i}
∴aitiMi≡ ai×1≡ ai(modmi)
同时我们发现:假设
∀
j
∈
{
1
,
2
,
.
.
.
,
n
}
且
j
≠
i
\forall j\in \{1,2,...,n\}且j\ne i
∀j∈{1,2,...,n}且j=i
此时:
M
i
=
m
1
×
m
2
×
.
.
.
×
m
j
×
.
.
.
×
m
n
M_i=m_1\times m_2\times...\times m_j\times...\times m_n
Mi=m1×m2×...×mj×...×mn,即:
m
j
∣
M
i
m_j|M_i
mj∣Mi
∴
a
i
t
i
M
i
≡
0
(
m
o
d
m
j
)
\therefore a_it_iM_i\equiv0\pmod{m_j}
∴aitiMi≡0(modmj)
解得一个
x
x
x为:
x
=
a
1
t
1
M
1
+
a
2
t
2
M
2
+
.
.
.
+
a
n
t
n
M
n
x=a_1t_1M_1+a_2t_2M_2+...+a_nt_nM_n
x=a1t1M1+a2t2M2+...+antnMn
代入原方程验证:
{
x
=
a
1
t
1
M
1
+
∑
j
≠
1
a
j
t
j
M
j
≡
a
1
×
1
+
∑
j
≠
1
0
≡
a
1
(
m
o
d
m
1
)
x
=
a
2
t
2
M
2
+
∑
j
≠
2
a
j
t
j
M
j
≡
a
2
×
1
+
∑
j
≠
2
0
≡
a
2
(
m
o
d
m
2
)
.
.
.
x
=
a
i
t
i
M
i
+
∑
j
≠
i
a
j
t
j
M
j
≡
a
i
×
1
+
∑
j
≠
i
0
≡
a
i
(
m
o
d
m
i
)
.
.
.
.
x
=
a
n
t
n
M
n
+
∑
j
≠
n
a
j
t
j
M
j
≡
a
n
×
1
+
∑
j
≠
n
0
≡
a
n
(
m
o
d
m
n
)
\begin{cases}x=a_1t_1M_1+\sum\limits_{j\ne 1}a_jt_jM_j\equiv a_1\times 1+\sum\limits_{j\ne 1}0\equiv a_1\pmod{m1}\\x=a_2t_2M_2+\sum\limits_{j\ne2}a_jt_jM_j\equiv a_2\times 1+\sum\limits_{j\ne2}0\equiv a_2\pmod{m_2}\\...\\x=a_it_iM_i+\sum\limits_{j\ne i}a_jt_jM_j\equiv a_i\times 1+\sum\limits_{j\ne i}0\equiv a_i\pmod{m_i}\\....\\x=a_nt_nM_n+\sum\limits_{j\ne n}a_jt_jM_j\equiv a_n\times 1+\sum\limits_{j\ne n}0\equiv a_n\pmod{m_n}\end{cases}
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧x=a1t1M1+j=1∑ajtjMj≡a1×1+j=1∑0≡a1(modm1)x=a2t2M2+j=2∑ajtjMj≡a2×1+j=2∑0≡a2(modm2)...x=aitiMi+j=i∑ajtjMj≡ai×1+j=i∑0≡ai(modmi)....x=antnMn+j=n∑ajtjMj≡an×1+j=n∑0≡an(modmn)
我们假设此方程有2个解分别为:
x
1
,
x
2
且
x
1
>
x
2
x_1,x_2且x_1>x_2
x1,x2且x1>x2
∴
{
x
1
≡
a
i
(
m
o
d
m
i
)
x
2
≡
a
i
(
m
o
d
m
i
)
\therefore\begin{cases} x_1\equiv a_i\pmod{m_i}\\x_2\equiv a_i\pmod{m_i}\end{cases}
∴{x1≡ai(modmi)x2≡ai(modmi)
∴
x
1
−
x
2
≡
0
(
m
o
d
m
i
)
,
即
:
m
i
∣
x
1
−
x
2
\therefore x_1-x_2\equiv0\pmod{m_i},即:m_i|x_1-x_2
∴x1−x2≡0(modmi),即:mi∣x1−x2
∵
M
=
∏
i
=
1
n
m
i
∴
M
∣
x
1
−
x
2
\because M=\prod\limits_{i=1}^nm_i\therefore M|x_1-x_2
∵M=i=1∏nmi∴M∣x1−x2
∴
解
集
为
x
∈
{
∑
i
=
1
n
a
i
t
i
M
i
+
k
M
\therefore 解集为x\in\{\sum\limits_{i=1}^na_it_iM_i+kM
∴解集为x∈{i=1∑naitiMi+kM,
k
为
任
意
整
数
}
k为任意整数\}
k为任意整数}