关于扩展欧几里得定理及其证明

扩展欧几里得算法内容:

$$\forall a,b\in N,b\neq 0,gcd(a,b)=gcd(b,a\%b)$$

扩展欧几里得定理1:

设$a$和$b$不全为$0$,则存在整数$x$和$y$,使得$ax+by=gcd(a,b)$

定理1的证明:

$\forall a,b\in N,b\neq 0,gcd(a,b)=gcd(b,a\%b)$ 

设$a$和$b$不全为$0$,则存在任意整数$x$和$y$,使得$ax+by=gcd(a,b)$

当$b=0$时,$x=1,y=0$

当$b\neq 0$时,假设存在一对整数$x',y'$,满足$bx'+(a\%b)y'=gcd(b,a\%b)=gcd(a,b)$

  那么,$bx'+(a-\lfloor{\frac{a}{b}}\rfloor \times b)y'=gcd(a,b)$

  所以,$ay'+b(x'-\lfloor{\frac{a}{b}}\rfloor \times y')=gcd(a,b)$

  所以,令$x=y',y=x'-\lfloor{\frac{a}{b}}\rfloor y'$,就得到了$ax+by=gcd(a,b)$

扩展欧几里得定理2:

 对于不定方程$ax+by=c$当且仅当$gcd(a,b)\mid c$时,方程有整数解。

定理2的证明:

当$gcd(a,b)\mid c$时,设$g=gcd(a,b),a'=\frac{a}{g},b'=\frac{b}{g},c'=\frac{c}{g}$。

我们可以用扩展欧几里得算法求出不定方程$a'x'+b'y'=1$的整数解。

那么$a'c'x'+b'c'y'=c'$

$a'gc'x'+b'gc'y'=c'g$

即$ac'x'+bc'y'=c$,所以,$x_0=c'x',y_0=c'y'$是方程的一组解。

因为不定方程$a'x+b'y=c'\Leftrightarrow$同余方程$a'x\equiv c'(mod b')$,所以$x$是模$b'$同余的一个剩余类,所以该不定方程的通解为$x=x_0+b't,y=y_0-a't(t\in Z)$。

当$gcd(a,b)\nmid c$时,就没有上述求解过程,所以方程无解.

posted @ 2019-12-21 23:39  QDK_Storm  阅读(615)  评论(0编辑  收藏  举报