*d|a且d|b   =>d|(ax+by).
*   gcd(a,b)=gcd(b,a%b).                
    設d=gcd(a,b),則d|a且d|b,則d|ax+by.又a%b=a-(a/b)*b,所以d|(a%b)->d=gcd(b,a%b).
所以可以得出歐幾里德算法,也就是輾轉相除法:
GCD
*基于以下事實:gcd(a,b)=gcd(b,a%b).                 
  可以得出:存在x,y,x',y'使得:
                      ax+by=d                                                                  (1)
                      bx'+(a%b)y'=d 即 bx'+[a-(a/b)*b]y'=d
                      整理得:ay'+b(x'-(a/b)y')=d                                (2)
 由(1)(2)得:x=y'
                       y=x'-(a/b)y' 
當b=0時,ax=gcd(a,0)=a,得x=1.
可以得到擴展歐幾里德算法:
EXTEND-EUCLID
*應用擴展歐幾里德算法可以求二元一次方程的整數解
對方程:ax+by=c
設d=gcd(a,b), a'=a/d,  b'=b/d,則方程變形為d(a'x+b'y)=c
若方程有整數解,則d|c,否則無解.
設c'=c/d,則方程ax+by=c等價于a'x+b'y=c'
因為gcd(a',b')=1,則我們可以求得a'x+b'y=gcd(a',b')=1的解,即ax+by=gcd(a,b)=d的解x,y。
則c'x,c'y就是ax+by=c的一組解。
  xx=c'x+b't,  yy=c'y-a't   t∈Z就是所有滿足條件的解。

*對于求解模線性方程ax≡b(modn),假設對整數x',y',有d=ax'+ny',則方程ax≡b(modn)有一個解的值為x0,滿足x0=x'*(b/d)modn.
ax0≡ax'(b/d) (mod n)
       ≡d(b/d)   (mod n)
       ≡b            (mod n)
Modular_Linear