扩展欧几里得算法内容:
$$forall a,bin N,b eq 0,gcd(a,b)=gcd(b,a\%b)$$
扩展欧几里得定理1:
设$a$和$b$不全为$0$,则存在整数$x$和$y$,使得$ax+by=gcd(a,b)$
定理1的证明:
$forall a,bin N,b eq 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 eq 0$时,假设存在一对整数$x',y'$,满足$bx'+(a\%b)y'=gcd(b,a\%b)=gcd(a,b)$
那么,$bx'+(a-lfloor{frac{a}{b}} floor imes b)y'=gcd(a,b)$
所以,$ay'+b(x'-lfloor{frac{a}{b}} floor imes y')=gcd(a,b)$
所以,令$x=y',y=x'-lfloor{frac{a}{b}} floor 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'xequiv c'(mod b')$,所以$x$是模$b'$同余的一个剩余类,所以该不定方程的通解为$x=x_0+b't,y=y_0-a't(tin Z)$。
当$gcd(a,b) mid c$时,就没有上述求解过程,所以方程无解.