扩展欧几里得算法证明过程

扩展欧几里得算法的证明方法,看了很多书,还是算法导论的证明思路比较容易理解
要证内容gcd(a,b)=ax+by,其中gcd(x,y)是ax+by的最小正元素。x,y是整数
设s是a和b的线性组合集中最小正元素,对某个x,y有s=ax+by。设q=a/s,
则a mod s=a-qs=a-q(ax+by)=a(1-qx+b(-qy),
因此,a mod s也是a,b的一个线性组合,s是这个线性组合中的最小正数,由于0<=a mod s<s,因此有a mod s=0,因此有s|a.类似的可得s|b。s是a和b的公约数,所以gcd(a,b)>=s,由于gcd(a,b)整除a,b.s是a,b的一个线性组合,所以gcd(a,b)|s。(d|a,d|b=>d|(ax+by))所以gcd(a,b)<=s。综上gcd(a,b)=s,因此ax+by的最小正元素s等于gcd(a,b);

你可能感兴趣的:(扩展欧几里得算法证明过程)