数论系列 求证:设自然数a,b互质,则不能表示成ax+by(x,y为非负整数)的最大整数是ab-a-b

a或者b是1的情况下容易证明。

以下情况都是a>1且b>1的情况。


首先证明ab-a-b不能表示成ax+by
假设ab-a-b=ax+by

ab = ax+a+by+b
= a(x+1)+b(y+1)

那么ab=am+bn (m,n都大于等于1)
左边ab是a的倍数
右边am也是a的倍数

那么只有要求bn也要是a的倍数
这样才能构成一个等式

我们先来比较下bn和ba
发现,b不能成为a的倍数(从左边看出)
只好让n成为a的倍数
所以由之前的n>1
可得 bn = b(n * a) >= ba;
即:am = ab - bn <= 0;
由于之前的m>1
则am<=0和m>1相互矛盾
证得:ab-a-b != ax+by


好,我们改变一下,在ab-a-b上加上d

即:证明ab-a-b+d能表示成ax+by(d>0)

因为ab互质
最大公约数就是1
根据辗转相减的方法知ma+nb=1
(辗转相减法:http://www.baike.com/wiki/%E8%BE%97%E8%BD%AC%E7%9B%B8%E5%87%8F)

不妨假设m>0,n<0
于是ab-a-b+d=ab-a-b+d(ma+nb)

因为m>1(m=0意味着nb=1不可能的)
所以ab-a-b+d(ma+nb)=(dm-1)a+(a+dn-1)b
因为dm-1>0
现在:
只要证明a+dn-1>=0

因为dma+dnb=d
如果:|dn|>fa 其中 f>0
那么dma=d+|dn|b>fab(注意绝对值)
所以dm>db
所以dma+dnb=(dm-db)a-(|dn|-fa)b=d
说明|dn|>fa时,我们就调整dm,dn
使|dn|<.a
因此|dn|<=a-1
所以a+dn-1>=0于是得证

你可能感兴趣的:(算法)