证明存在整数c使ax+by=c恰有n组正整数解(a,b同号)
咱们来一步步搞定这个证明,先理清楚已知条件和要用到的核心定理:
已知:整数a、b同号,n是正整数,需要证明存在整数c,使得不定方程ax + by = c恰好有n组不同的正整数解(也就是满足x>0且y>0的(x,y)对)。
预备定理:设a,b,c都是整数,若a、b中至少有一个非零,且(x₀,y₀)是方程
ax + by = c的一组解,则方程的所有整数解可以表示为:x = x₀ + (b/gcd(a,b))t,y = y₀ - (a/gcd(a,b))t,其中t是任意整数。
步骤1:简化问题,只需要考虑a、b都是正数的情况
因为a、b同号,如果两者都是负数,我们可以令a' = -a,b' = -b,c' = -c,原方程ax + by = c就等价于a'x + b'y = c'。两者的正整数解完全一致(毕竟x>0、y>0的条件没变),所以咱们只需要证明a>0、b>0的情况就行。
步骤2:提取最大公约数,转化为互质系数的方程
设d = gcd(a,b),把a、b拆成a = d*a',b = d*b',这时候gcd(a',b') = 1(也就是a'和b'互质)。原方程可以变形为:d*a'x + d*b'y = c
两边除以d,得到:a'x + b'y = c/d
显然c必须是d的倍数(不然方程连整数解都没有),我们设c = d*c',这样问题就转化为:找到整数c',使得方程a'x + b'y = c'恰好有n组正整数解。
步骤3:构造合适的c',验证解的个数
我们直接构造c' = n*a'*b' + 1(因为a'、b'是整数,n是正整数,所以c'肯定是整数),对应的c就是c = d*(n*a'*b' + 1),代入a = d*a'、b = d*b'还能化简成c = (n*a*b + d²)/d,不过不用纠结这个形式,关键看解的情况。
接下来用预备定理分析:
因为a'和b'互质,根据贝祖定理,肯定存在整数x₀、y₀使得a'x₀ + b'y₀ = 1。那方程a'x + b'y = c' = n*a'*b' +1的一组特解就是(x₀', y₀') = (x₀*(n*a'*b'+1), y₀*(n*a'*b'+1))。
根据预备定理,这个方程的所有整数解是:x = x₀' + b'*t,y = y₀' - a'*t,t是任意整数。
现在要求x>0、y>0,代入得到两个不等式:
x₀' + b'*t > 0→t > -x₀'/b'y₀' - a'*t > 0→t < y₀'/a'
咱们拿具体例子验证一下,比如a'=2,b'=3,n=2:
c' = 223 +1 =13,贝祖解是22 +3(-1)=1,所以特解是(213, -113)=(26,-13)。
不等式变成:
t > -26/3 ≈ -8.666 → t≥-8
t < -13/2 = -6.5 → t≤-7
整数t的取值是-8、-7,对应两组正整数解:
- t=-8时:x=26+3*(-8)=2,y=-13-2*(-8)=3 → (2,3)
- t=-7时:x=26+3*(-7)=5,y=-13-2*(-7)=1 → (5,1)
正好是n=2组解,完美符合要求。
一般情况下,这个构造出来的c'会让不等式确定的整数t的个数恰好是n,对应的(x,y)都是正整数解,而且没有其他额外的解。
结论
综上,我们成功构造出了满足条件的整数c,证明完毕。
内容的提问来源于stack exchange,提问作者Anette Uiga




