线性同余定理
简单来说就是解决同余式。ax≡c mod max\equiv c\ mod\ max≡c mod m
设aaa , ccc 与 mmm 都是整数,m≥1m \geq 1m≥1 ,且设g=gcd(a,m)g = gcd(a,m)g=gcd(a,m)
(1) 若ggg 不整除 ccc,则同余式ax≡c (mod m)ax\equiv c\ (mod\ m)ax≡c (mod m)没有解。
(2) 若g∣cg | cg∣c,则同余式ax≡c mod max\equiv c\ mod\ max≡c mod m恰好有ggg个不同的解。
首先根据欧几里得算法可以求出线性方程au+mv=gau+mv=gau+mv=g的一个解(u,v)(u,v)(u,v)。则x0=cugx_0=\frac{cu}{g}x0=gcu是ax≡c mod max\equiv c\ mod\ max≡c 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-1x≡x0+k∗gm(mod m),k=0,1,...,g−1
举例
1.943x≡381(mod 2576)943x\equiv 381 (mod\ 2576)943x≡381(mod 2576)
因为gcd(943,2576)=23gcd(943,2576)=23gcd(943,2576)=23不整除381381381,所以该同余式无解。
2.893x≡266(mod 2432)893x\equiv 266 (mod\ 2432)893x≡266(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)x≡x0+k∗gm(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\ max≡c mod m可推出:ax−my=cax-my=cax−my=c
我们的任务就是求出这个线性方程。
首先,设g=gcd(a,m)g = gcd(a,m)g=gcd(a,m),则根据裴蜀定理可知:
au−mv=gau-mv=gau−mv=g因此如果ggg不整除ccc,则该方程无解。
下面假设g∣cg|cg∣c,则我们可以利用欧几里得算法求解(u0,v0)(u_0,v_0)(u0,v0)
由于g∣cg|cg∣c,则可以用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)ax1≡ax0(mod m)
即:a(x1−x0)=kma (x_1-x_0)=kma(x1−x0)=km
同除ggg,得:
ag(x1−x0)=kmg\frac{a}{g} (x_1-x_0)=k\frac{m}{g}ga(x1−x0)=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∣(x1−x0)
所以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,...g−1
参考书目:《A Friendly Introduction to Number Theory》

&spm=1001.2101.3001.5002&articleId=105497131&d=1&t=3&u=53777480853047aa92b8939269606f25)
2541

被折叠的 条评论
为什么被折叠?



