考虑一个 excrt 方程:
a
t
=
x
m
o
d
n
b
t
=
y
m
o
d
m
at=x\bmod{n}\\ bt=y\bmod{m}
at=xmodnbt=ymodm
正常的做法是先化为标准 excrt 方程,再逐一判断是否有解。
最近发现了一个在 ( a , b ) = 1 (a,b)=1 (a,b)=1 ( ( a , b ) (a,b) (a,b) 表示 gcd ( a , b ) \gcd(a,b) gcd(a,b)) 的条件下判断有解的办法,结论是有解的充要条件是:
( a m , b n ) ∣ b x − a y (am,bn)|bx-ay (am,bn)∣bx−ay
证明:
必要性:
原式等价于:
a b t = b x m o d b n a b t = a y m o d a m abt=bx\bmod{bn}\\ abt=ay\bmod{am} abt=bxmodbnabt=aymodam
则 b x + u b n = a y + v a m bx+ubn=ay+vam bx+ubn=ay+vam 有解是原式有解的必要条件,根据裴蜀定理,有 ( a m , b n ) ∣ b x − a y (am,bn)|bx-ay (am,bn)∣bx−ay。
充分性:
如果
(
a
m
,
b
n
)
∣
b
x
−
a
y
(am,bn)|bx-ay
(am,bn)∣bx−ay,则只需要证明每个方程都有解即可,即
(
a
,
n
)
∣
x
(a,n)|x
(a,n)∣x 和
(
b
,
m
)
∣
y
(b,m)|y
(b,m)∣y。
反证,假设
(
a
,
n
)
∤
x
(a,n)\nmid x
(a,n)∤x,则
(
a
,
n
)
≠
1
(a,n)\neq 1
(a,n)=1。因为
(
a
,
b
)
=
1
(a,b)=1
(a,b)=1,所以
(
b
,
(
a
,
n
)
)
=
1
(b,(a,n))=1
(b,(a,n))=1。所以
(
a
,
n
)
∤
b
x
(a,n)\nmid bx
(a,n)∤bx
此时,
b
x
−
a
y
m
o
d
(
a
,
n
)
=
b
x
m
o
d
(
a
,
n
)
≠
0
bx-ay\bmod{(a,n)}=bx\mod{(a,n)}\neq 0
bx−aymod(a,n)=bxmod(a,n)=0。
因为
(
a
,
n
)
∣
(
a
m
,
b
n
)
(a,n)|(am,bn)
(a,n)∣(am,bn) 所以
(
a
m
,
b
n
)
∤
b
x
−
a
y
(am,bn)\nmid bx-ay
(am,bn)∤bx−ay,与条件矛盾,因此
(
a
,
n
)
∣
x
(a,n)|x
(a,n)∣x。
对于 ( b , m ) ∣ y (b,m)|y (b,m)∣y 同理。 □ \square □