拓展欧几里得小结

前言

拓欧总是记不住,总是想不懂,希望写篇博客加深影响。

拓展欧几里得定理推论

求:

\[\Large ax+by=\gcd(a,b) \]

的其中一组整数解 \(x,y\)

首先可以证明必有解(留坑)

按照欧几里得定理:\(\gcd(a,b)=\gcd(b,a\%b)\)

\[\Large k_1x'+k_2y'=\gcd(b,a\%b) \]

由于我们之前知道 \(ax+by=\gcd(a,b)\),所以 \(bx'+(a\%b)y'=\gcd(b,a\%b)\) 也应该必有解。

由于 \(a\%b=a-\left\lfloor\frac{a}{b}\right\rfloor\times b\)

所以原式为:

\[\Large bx'+(a-\left\lfloor\frac{a}{b}\right\rfloor\times b)\times y'=\gcd(b,a\%b) \]

拆开:

\[\Large bx'+a\times y'-\left\lfloor\frac{a}{b}\right\rfloor\times b\times y'=\gcd(b,a\%b) \]

合并同类项:

\[\Large a y'+b(x'- \left\lfloor\frac{a}{b}\right\rfloor\times y')=\gcd(b,a\%b) \]

由于 \(gcd(a,b)=gcd(b,a\%b)\),看回之前的式子 \(ax+by=\gcd(a,b)\),所以我们可以写出等式:

\[\Large a y'+b(x'- \left\lfloor\frac{a}{b}\right\rfloor\times y')=ax+by \]

然后我们可以写出 \(x,y\) 的其中一组解为 \(x=y',y=(x'- \left\lfloor\frac{a}{b}\right\rfloor\times y')\)

边界条件:如何 \(gcd(a,b)\)\(b\) 为0,则 \(gcd(a,b)=a\),然后我们构造一组整数解为:

\[\Large a\times 1+b\times 0=a=gcd(a,b). \]

拓展欧几里得求逆元

前提:利用拓欧求逆元需满足 \(gcd(a,p)=1\)

我们知道,\(a\) 在模 \(p\) 意义下的逆元 \(x\) 可以表示为:\(ax\equiv 1\pmod p\)

对于我们求出的其中一组的 \(ax+py=gcd(a,p)\),由于我们保证了 \(gcd(a,p)=1\),所以 \(ax+py=1\),移项得:

\[\Large ax=1-py \]

在模 \(p\) 意义下,\(ax\)\(1-py\) 相同。而 \(py\)\(p\) 的倍数,所以在模 \(p\) 意义下 \(ax=1\),即:

\[\Large ax\equiv1\pmod p \]

此时 \(x\) 即为 \(a\) 在模 \(p\) 意义下的逆元

posted @ 2021-12-13 21:20  zhangtingxi  阅读(25)  评论(0编辑  收藏  举报