同余方程与不定方程

同余方程与不定方程


不定方程

在引入同余方程前,我们先讨论一种最简单的二元一次不定方程的解的有关问题

假设有不定方程

ax+by=cax + by=c

则有结论:该方程有解的充要条件是 gcd(a,b)cgcd(a,b) | c

证明

充分性

引理:贝祖定理,设 d=gcd(a,b)d = gcd(a,b) ,则存在整数 u,vu,v 使得

au+bv=dau + bv = d

贝祖定理的证明有两种方法。

贝祖定理证法1

考虑集合

S={ax+byx,yZ}S = \{ax + by | x,y \in \mathbb{Z} \}

S+={mSm>0}S^+ = \{m \in S | m>0 \}

由于 a,ba,b 不全为 00 ,则假设 a0a \not ={0} ,考虑 x=±1x = \pm 1 使得 ax>0ax > 0 ,显然有 aS+|a| \in S^+ ,故 S+S^+ 非空。

由良序原理知,S+S^+ 有最小元

d=S+mind = \underset{min}{S^+}

此时设 d=ax0+by0d = ax_0 + by_0

ddaa 做带余除法:

a=qd+r(0r<d)a = qd + r \,\, (0 \le r < d)

r=aqd=aq(ax0+by0)=a(1qx0)+b(qy0)r = a - qd = a - q(ax_0 + by_0) = a(1 - qx_0) + b(-qy_0)

则显然有 rSr \in S

r>0r > 0 ,则 rS+r \in S^+ ,且 r<dr < d ,与 dd 的最小性矛盾,故 r=0r = 0

dad | a ,同理可证 dbd | b

下证 dda,ba,b 的正约数集合中的最大性

cca,ba,b 的一个正约数,则有 c(ax0+by0=d)c | (ax_0 + by_0 = d) ,所以 cdc \le d ,故 dda,ba,b 的最大公约数。

则此时取 u=x0,v=y0u = x_0,v = y_0 ,即有贝祖定理得证。

贝祖定理证法2

由扩展欧几里得算法可推出,此处不再赘述。

下面回到对充分性的证明:

考虑贝祖定理的表达式:

au+bv=dau + bv = d

dcd | c 得,存在整数 kk ,使得 c=kdc = kd

则方程两边同乘 kk 得:

a(uk)+b(vk)=dk=ca(uk) + b(vk) = dk = c

则取 x0=uk,y0=vkx_0 = uk,y_0 = vk ,此时 x0,y0x_0,y_0 为方程的一组解,充分性成立。

必要性

设存在一组解 x0,y0x_0,y_0 使得 ax0+by0=cax_0 + by_0 = c ,则由公约数的性质得:

dax0+by0=cd | ax_0 +by_0 =c

dcd|c ,必要性得证。

同余方程

我们先介绍最简单的一次同余方程:

axb(modm)ax \equiv b \,\, (mod \,\, m)

ax=k1c+r,b=k2c+rax = k_1c + r ,b = k_2c + r ,两式相减得:

axb=(k1k2)max - b = (k_1 - k_2)m

整理得:

ax+m(k2k1)=bax + m(k_2 - k_1) = b

t=k2k1t = k_2 - k_1 ,则

ax+mt=bax + mt = b

显然这是一个二元一次不定方程,套用我们刚刚的结论,xx 有解当且仅当

gcd(a,m)bgcd(a,m) | b

而对于一次同余方程的解,设 d=gcd(a,m)d = gcd(a,m),则同样有贝祖定理

au+mv=dau + mv = d

b=kdb = kd

a(uk)+m(vk)=dk=ba(uk) + m(vk) = dk = b

x=ukx = uk 即为原一次同余方程的解,此时我们要求解 uu ,可以使用扩展欧几里得算法来求解。

🐙