记号与约定:
gcd(a, b):a与b的最大公约数
lcm(a, b):a与b的最小公倍数
x == a (mod m):x与a关于模m同余
x == a1 (mod m1), x == a2 (mod m2)
有解的充要条件是 gcd(m1, m2) | (a1 - a2),并且:
设其中一个特解为x0,则通解为 x = x0 + k * lcm(m1, m2) (k为整数)
-----------------------------------------------------------------------------------------------------------------
命题:用F[i]表示方程 x == a[i] (mod m[i]), 则方程组 F[1..n]有解的充要条件为对所有1 <= i < j <= n,
方程组(F[i], F[j]) 有解。
证明:
当n=3时,
设F[1]与F[2]的特解为x0, 则F[1]与F[2]的通解为:
x = x0 + k * lcm(m[1], m[2]),
带入F[3],有
x0 - a[3] == -k * lcm(m[1], m[2]) (mod m[3])
于是原命题等价转化为:
已知:
gcd(m[i], m[j]) | (a[i] - a[j]) (1 <= i < j <= 3)
m[1] | (x0 - a1)
m[2] | (x0 - a2)
求证:
gcd(lcm(m[1], m[2]), m[3]) | (x0 - a3)
证明:
利用质因数分解,并根据max(min(a, b), c) = min(max(a, c), max(b, c)),立即得
gcd(lcm(a, b), c) = lcm(gcd(a, c), gcd(b, c))
于是求证部分化为:
lcm(gcd(m[1], m[3]), gcd(m[2], m[3])) | (x0 - a3)
∵ m[1] | (x0 - a[1])
∴ gcd(m[1], m[3]) | (x0 - a[1]),
又 gcd(m[1], m[3]) | (a[1] - a[3])
于是
gcd(m[1], m[3]) | (x0 - a[3])
同理,
gcd(m[2], m[3]) | (x0 - a[3])
由以上两式可知
lcm(gcd(m[1], m[3]), gcd(m[2], m[3])) | (x0 - a[3])
证毕
当n >= 4时,
将F[1]与F[2]求解后合并为G: x == b (mod n)
则对于 i >= 3,由于F[1], F[2], F[i]两两有解,得G, F[i]亦有解。
由此可归化为n - 1的情况,其中n - 1个方程为G, F[3], F[4], ..., F[n],
且满足两两有解。
gcd(a, b):a与b的最大公约数
lcm(a, b):a与b的最小公倍数
x == a (mod m):x与a关于模m同余
x == a1 (mod m1), x == a2 (mod m2)
有解的充要条件是 gcd(m1, m2) | (a1 - a2),并且:
设其中一个特解为x0,则通解为 x = x0 + k * lcm(m1, m2) (k为整数)
-----------------------------------------------------------------------------------------------------------------
命题:用F[i]表示方程 x == a[i] (mod m[i]), 则方程组 F[1..n]有解的充要条件为对所有1 <= i < j <= n,
方程组(F[i], F[j]) 有解。
证明:
当n=3时,
设F[1]与F[2]的特解为x0, 则F[1]与F[2]的通解为:
x = x0 + k * lcm(m[1], m[2]),
带入F[3],有
x0 - a[3] == -k * lcm(m[1], m[2]) (mod m[3])
于是原命题等价转化为:
已知:
gcd(m[i], m[j]) | (a[i] - a[j]) (1 <= i < j <= 3)
m[1] | (x0 - a1)
m[2] | (x0 - a2)
求证:
gcd(lcm(m[1], m[2]), m[3]) | (x0 - a3)
证明:
利用质因数分解,并根据max(min(a, b), c) = min(max(a, c), max(b, c)),立即得
gcd(lcm(a, b), c) = lcm(gcd(a, c), gcd(b, c))
于是求证部分化为:
lcm(gcd(m[1], m[3]), gcd(m[2], m[3])) | (x0 - a3)
∵ m[1] | (x0 - a[1])
∴ gcd(m[1], m[3]) | (x0 - a[1]),
又 gcd(m[1], m[3]) | (a[1] - a[3])
于是
gcd(m[1], m[3]) | (x0 - a[3])
同理,
gcd(m[2], m[3]) | (x0 - a[3])
由以上两式可知
lcm(gcd(m[1], m[3]), gcd(m[2], m[3])) | (x0 - a[3])
证毕
当n >= 4时,
将F[1]与F[2]求解后合并为G: x == b (mod n)
则对于 i >= 3,由于F[1], F[2], F[i]两两有解,得G, F[i]亦有解。
由此可归化为n - 1的情况,其中n - 1个方程为G, F[3], F[4], ..., F[n],
且满足两两有解。