裴蜀定理

定义

若a和b为整数,最大公约数gcd(a,b)=g,则对于任意的整数x和y,ax+by一定为g的倍数,并且一定存在整数\(x_0\)\(y_0\)。使得 \(ax_0+by_0=g\)​ 成立

\(161x_0+126y_0=7\)
经过简单计算后可以看出来
\(161×(-7)+126×9=7\)
但是这是怎么算出来的呢

可以按下面的方法理解

\[y= \begin{cases} 161=126×1+35 \\ 126=35×3+21 \\ 35=21×1+14 \\ 21=14×1+7 \\ 14=7×2+0 \end{cases} \]

把我们上回求gcd的时候得到的式子拿过来

把它转化一下

\[y= \begin{cases} 161-126×1=35 \\ 126-35×3=21 \\ 35-21×1=14 \\ 21-14×1=7 \\ 14-7×2=0 \end{cases} \]

因为我们要求的是 \(161x_0+126y_0=7\) ,所以我们找到 21-14×1=7 把他上边的三条等式从下往上依次带入
得:

\[7 \]

\[=21-14×1 \]

\[=21-(35-21×1)×1=21×2-35 \]

\[=(126-35×3)×2-35=126×2-35×7 \]

\[=126×2-(161-126×1)×7=161×(-7)+126×9 \]

就求出来啦qwq

那是不是还有其他的解

那是肯定的

只要构造一个p,q,满足

\[161×(-7+p)+126×(9+q)=7 \]

因为已经得到了 \(161×(-7)+126×9=7\)

所以只要 \(161×p+126×q=0\) ,-7+p和9+q就是一对可行解

一个简单的想法就是p=126,q=-161,显然成立

其实就是构造二者的公倍数

只要找出最小公倍数,那其他的解不就很好得到了?

那怎么求最小公倍数呢

对161和126分解质因子

\[\ \begin{cases} 161=7×23\\ 126=2×7×9=7×18 \end{cases} \]

那要求最小公倍数,就是要含有两个数所有的质因子呗

我们让161×18,128×23得到的2898,他就是二者的最小公倍数

7就是二者的最大公约数

这里我们顺便就引出了最小公倍数的求法

\[lcm(a,b)=\frac{a×b}{gcd(a,b)} \]

这样的话我们就找到了另外一个解

\[161×(-7+18)+126×(9+(-23))=7 \]

这里的18可以看成126/7

23可以看成161/7

那这里我们发现,给18和23乘上一个整数n并不会造成影响

如果我们想求最小正整数解,只需要让\(mod = (161 / 6), x = (x % mod + mod) % mod, y = (y % mod + mod) % mod;\)

\[161×(-7+18n)+126×(9+(-23)n)=7 \]

至此,我们得到了通解

\[\begin{cases} x=-7+18n,n∈Z\\ y=9+(-23)n,n∈Z \end{cases} \]

但是我们只是得到了这个通解,但是不知道他是不是取到了所有的解

证明:

任意两组特解:\((x_1,y_1)\)\((x_2,y_2)\),有:

\[ax_1+by_1=gcd(a,b)=ax_2+by_2 \]

\[a(x_1-x_2)=b(y_2-y_1) \]

\[\frac{a}{gcd(a,b)}(x_1-x_2)=\frac{b}{gcd(a,b)}(y_2-y_1) \]

\[x_1=x_2+k_1×\frac{b}{gcd(a,b)},y_1=y_2-k_2×\frac{a}{gcd(a,b)},k1,k2∈Z \]

通解成立

若a和b是整数,最大公约数 \(gcd(a,b)=g\),则对于位置整数x和y,\(ax+by=z\) 有解当且因当 z 是 g 的倍数。
要证

\[ax+by=z \]

只需要证

\[ax'+by'=g \]

最后两边同时乘以z/g不就好了

我们把上上上面的回带过程总结抽象一下,就是扩展欧几里得算法

要听扩展欧几里得,请听下回分解

posted @ 2022-05-21 17:36  zcxxxxx  阅读(126)  评论(0编辑  收藏  举报