线性同余定理(数论日常2)

线性同余定理

简单来说就是解决同余式。ax≡c mod max\equiv c\ mod\ maxc mod m

aaa , cccmmm 都是整数,m≥1m \geq 1m1 ,且设g=gcd(a,m)g = gcd(a,m)g=gcd(a,m)

(1) 若ggg 不整除 ccc,则同余式ax≡c (mod m)ax\equiv c\ (mod\ m)axc (mod m)没有解。
(2) 若g∣cg | cgc,则同余式ax≡c mod max\equiv c\ mod\ maxc mod m恰好有ggg个不同的解。

首先根据欧几里得算法可以求出线性方程au+mv=gau+mv=gau+mv=g的一个解(u,v)(u,v)(u,v)。则x0=cugx_0=\frac{cu}{g}x0=gcuax≡c mod max\equiv c\ mod\ maxc mod m的一个特殊解,其余解为x≡x0+k∗mg(mod m),k=0,1,...,g−1x \equiv x_0+k*\frac{m}{g}(mod \ m),k = 0,1,...,g-1xx0+kgm(mod m),k=0,1,...,g1

举例

1.943x≡381(mod 2576)943x\equiv 381 (mod\ 2576)943x381(mod 2576)

因为gcd(943,2576)=23gcd(943,2576)=23gcd(943,2576)=23不整除381381381,所以该同余式无解。

2.893x≡266(mod 2432)893x\equiv 266 (mod\ 2432)893x266(mod 2432)
因为gcd(893,2432)=19gcd(893,2432)=19gcd(893,2432)=19整除266266266,所以该同余式的解有19个。
首先,我们解方程893u+2432v=19893u+2432v=19893u+2432v=19
得到(u,v)=(79,29)(u,v)=(79,29)(u,v)=(79,29)

则特殊解为x0=cug=1106x_0=\frac{cu}{g}=1106x0=gcu=1106

其余解x≡x0+k∗mg(mod m)x\equiv x_0+k*\frac{m}{g}(mod \ m)xx0+kgm(mod m),即

(1234,1362,1490,1618,1746,1874,2002,2130,2258,(1234,1362,1490,1618,1746,1874,2002,2130,2258,(1234,1362,1490,1618,1746,1874,2002,2130,2258,

2386,82,210,338,466,594,722,850,978)2386,82,210,338,466,594,722,850,978)2386,82,210,338,466,594,722,850,978)

推导过程

由同余式ax≡c mod max\equiv c\ mod\ maxc mod m可推出:ax−my=cax-my=caxmy=c
我们的任务就是求出这个线性方程。

首先,设g=gcd(a,m)g = gcd(a,m)g=gcd(a,m),则根据裴蜀定理可知:
au−mv=gau-mv=gaumv=g因此如果ggg不整除ccc,则该方程无解。

下面假设g∣cg|cgc,则我们可以利用欧几里得算法求解(u0,v0)(u_0,v_0)(u0,v0)
由于g∣cg|cgc,则可以用cg\frac{c}{g}gc同乘式子两边,得到:
acu0g+mcv0g=ca\frac{cu_0}{g}+m\frac{cv_0}{g}=cagcu0+mgcv0=c

所以我们可以得到一个特殊解:x0=cu0g(mod m)x_0=\frac{cu_0}{g}(mod\ m)x0=gcu0(mod m)

设还有其余解x1x_1x1,则我们有ax1≡ax0(mod m)ax_1\equiv ax_0 (mod\ m)ax1ax0(mod m)
即:a(x1−x0)=kma (x_1-x_0)=kma(x1x0)=km
同除ggg,得:
ag(x1−x0)=kmg\frac{a}{g} (x_1-x_0)=k\frac{m}{g}ga(x1x0)=kgm
因为gcd(ag,mg)=1gcd(\frac{a}{g},\frac{m}{g})=1gcd(ga,gm)=1,所以mg∣(x1−x0)\frac{m}{g}|(x_1-x_0)gm(x1x0)

所以x1=x0+kmgx_1=x_0+k\frac{m}{g}x1=x0+kgm,由于当k=gk=gk=g时两个解是相等的,所以k=0,1,...g−1k=0,1,...g-1k=0,1,...g1

参考书目:《A Friendly Introduction to Number Theory》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值