擴充套件歐幾里得的幾個定理以及證明

bigbigship發表於2014-06-19
擴充套件歐幾里得的三個定理:

   定理一:如果d = gcd(a, b),則必能找到正的或負的整數k和l,使d = a*x+ b*y。

   定理二:若gcd(a, b) = 1,則方程ax ≡ c (mod b)在[0, b-1]上有唯一解。

   定理三:若gcd(a, b) = d,則方程ax ≡ c (mod b)在[0, b/d - 1]上有唯一解。

      證明:上述同餘方程等價於ax + by = c,如果有解,兩邊同除以d,就有a/d * x + b/d * y = c/d,即a/d * x ≡ c/d (mod b/d),顯然gcd(a/d, b/d) = 1,所以由定理二知道x在[0, b/d - 1]上有唯一解。所以ax + by = c的x在[0, b/d - 1]上有唯一解,即ax ≡ c (mod b)在[0, b/d - 1]上有唯一解。

      如果得到ax ≡ c (mod b)的某一特解X,那麼令r = b/gcd(a, b),可知x在[0, r-1]上有唯一解,所以用x = (X % r + r) % r就可以求出最小非負整數解x了!(X % r可能是負值,此時保持在[-(r-1), 0]內,正值則保持在[0, r-1]內。加上r就保持在[1, 2r - 1]內,所以再模一下r就在[0, r-1]內了)。


相關文章