扩展欧几里得:a*x+b*y=Gcd(a,b);(x,y为整数)
证明:原式=k1* Gcd(a,b)*x+k2* Gcd(a,b)*y= Gcd(a,b);
=>k1*x+k2*y=1;(k1,k2互质)
=>x=(1-k2*y)/k1;
=>x=1-k2*yk1(若x为整数,则1-k2*y对k1整除)
=>x=1-k2*(x*k1/k2-1/k2)k1
若y也为整数,则 (x*k1-1)%k2=0;
即证,存在x,使得(x*k1-1)%k2=0;令x=n*k2+r;(0<=r<=k2-1);∴原式=(r*k1-1)%k2=0;
设k1,k2的最小公倍数为p,p=k1*k2( ∵k1,k2互质 )
对于:0<=r<=k2-1中的每一个取值;r*k1%k2 的值不同;
反证法:设存在ri*k1%k2=rj*k1%k2;(r1!=r2)
则 ri*k1%k2=(rj*k1+m*p)%k2=(rj*k1+m*k1*k2)%k2 =[(rj+m*k2)*k1]%k2
若 m=0,则ri=rj;若m!=0,则 |ri-rj|=m*k2;
∴ 对于0<=r<=k2-1中的每一个取值;r*k1%k2 的值不同;
即 0<=ri<=k2-1,ri*k1%k2与集合(0,1,2,3……k2-1)一一对应关系
∴ 0<=ri<=k2-1,(ri*k1-1)%k2与集合(0,1,2,3……k2-1)一一对应关系
对于(ri*k1-1)%k2=0,存在0<=ri<=k2-1使得式子成立;
∴ 存在一对整数x,y使得a*x+b*y=Gcd(a,b);