裴蜀定理的证明

定理内容

对于任意不全为 0 的整数 a,b,方程 ax+by=gcd(a,b) 一定有整数解 x,y

证明

引理 1

对于两个正整数 a,b 满足 a>b 可以推出 gcd(a,b)=gcd(b,amodb)

a=kb+c,dgcd(a,b),那么一定有 da,db

通过移项可以得到 c=kba,将两边同除 d 得到 cd=kbdad,因为 da,db 所以等式右侧为整数,这就证明了 dc

a=kb+c 变形可以得到 c=bmoda,可以推出 dbmoda,因为所有的因数都是相同的,所以自然有 gcd(a,b)=gcd(b,amodb)

定理证明

对于任意一个 a,b0 的情况有 gcd(a,b)=max(a,b),此时 x=1,y=1 就是一组解,定理显然满足。

d=gcd(a,b),那么将等式两侧同乘 1d 可以得到 adx+bby=1,不妨设 a=ad,b=bd

所以只需要证明 ax+by=1 即可。

根据引理 1 可以得到辗转相除法 gcd(a,b)=gcd(b,amodb)=

我们记录出每一取模,具体的 a=qib+ri,其中 ri 就是 amodb 的值。

在辗转相除法进行到最后一步时一定有 rn=1,将取模操作反向的带回原式可以得到:rn2=xnrn1+1,1=rn2xnrn1,

通过这样的不断代换就可以得到 ax+by=1

拓展

多个元素

裴蜀定理可以拓展到多个数的情况,也就是对于不全为 0 的整数 a1,a2,,an 的方程 i=1naixi=gcdi=1nai 一定可以找到整数解 x1,x2,,xn

一般应是否有解

对于更一般的方程 i=1naixi=m,如果 mgcdi=1nai 那么方程有解,否则一定无解。

证明很简单,因为 i=1naixi=gcdi=1nai 有解,那么将所有的元素除以 m 就得到一组解了。

posted @   未抑郁的刘大狗  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示