1. 标准形式
ax≡b(modm)
其中 a,b,m 为整数,且 m>0。
2. 可解性判定 (Solvability)
设 d=gcd(a,m)。
- 无解:如果 d∤b(即 d 不能整除 b),则方程无解。
- 有解:如果 d∣b,则方程恰有 d 个 模 m 不同余的解。
- 必要性:若 (ax≡b(modm)),则 (m∣(ax−b)),即存在整数 k 使得 (ax−b=mk),整理得 (ax−mk=b)。
- 充分性类似,即 ax - mk = b
3. 求解步骤 (Algorithm)
假设 d=(a,m) 且 d∣b。
-
化简方程:
将原方程两边及模数同时除以 d,得到一个新方程:
a′x≡b′(modm′)
其中 a′=a/d, b′=b/d, m′=m/d。此时 gcd(a′,m′)=1。
-
求逆元:
利用 扩展欧几里得算法 求出 a′ 模 m′ 的逆元 (a′)−1。
即求解 a′x+m′y=1,得到的 x 即为逆元。
-
求特解:
计算特解 x0:
x0≡(a′)−1⋅b′(modm′)
-
写出通解:
在模 m 意义下,所有 d 个解为:
xk≡x0+k⋅m′(modm),k=0,1,…,d−1
4. 经典例题
题目:求解 980x≡1500(mod1600)。
解:
- 判定:a=980,m=1600。计算 d=(980,1600)=20。
因为 20∣1500(1500=75×20),所以有解,且有 20个解。
- 化简:除以 20,得到新方程:
49x≡75(mod80)
其中 a′=49,b′=75,m′=80。
- 求逆:求 49 模 80 的逆元。
利用辗转相除法可得 19×80−31×49=1。
⟹−31×49≡1(mod80)。
⟹49−1≡−31≡49(mod80)。
- 特解:
x0≡49×75(mod80)
x0≡3675(mod80)≡75。
- 通解:
x≡75+80k(mod1600),k=0,1,…,19