一句话
一个方程两个未知数,实数解有无穷多个,连成一条线。但如果只要整数解,情况就完全不同了:整数解是这条线恰好穿过的格点,它们稀稀拉拉,常常只有有限个,甚至一个也没有。
求整数解的全部功夫,就是利用整数才有的性质——整除、因数分解、有界、奇偶——把无穷多个候选筛成数得清的几个。
例:3x + 5y = 47 的正整数解
第 1 / 5 步 -
先找一个 试几个 y:y=7 时 3x=47−35=12,x=4。所以 (4,7) 是一组整数解,直线经过这个格点。
3×4+5×7=47
-
怎样走到下一个格点
-
写出全部整数解
-
加上“正整数”的条件
-
数一数
第 1 站 · 整除:直线会不会根本碰不到格点
ax+by=c 不一定有整数解。左边不管 x、y 取什么整数,都是 a 和 b 的最大公因数的倍数;右边要是不是,就没戏了。
结论:ax+by=c 有整数解 ← 还成立吗?
6x+9y=21:6 和 9 的最大公因数是 3,21 是 3 的倍数。直线上有格点,而且每隔一段就有一个。
只把 21 改成 20:6x+9y=20。直线几乎没动,可是……找找看,它经过哪个格点?
一个也没有。左边 6x+9y=3(2x+3y) 永远是 3 的倍数,而 20 不是。直线从格点之间的缝隙里穿了过去。
第 2 站 · 分解:把“和”变成“积”
方程 xy−2x−3y=0 看上去无从下手。但在两边各加 6,左边就能分解:
xy−2x−3y+6=6⟹(x−3)(y−2)=6
两个整数相乘得 6,只有有限种可能。每一种拆法,对应曲线上的一个格点。
先猜后证
(x−3)(y−2)=6 一共有多少组整数解?(正的、负的都算。)
先选定答案,才能看到结论。
✓ 猜对了!✗ 和你想的不一样——这正是值得停一下的地方。
6 的正因数有 1,2,3,6 四个,给出四种拆法;两个因数同时取负,又是四种。一共 8 组。
把八种拆法都点一遍。阴影长方形的“长 × 宽”始终是 6。其中 x、y 都是正数的有 4 组。顺便一提,xy−2x−3y=0 两边除以 xy 就是 x3+y2=1。所以这个分式方程的正整数解也是那 4 组:(4,8)、(5,5)、(6,4)、(9,3)。
第 3 站 · 有界:先圈范围,再挨个查
x2+y2=50。平方不会是负数,所以 x2≤50,∣x∣≤7。候选一下子从“所有整数”缩到了十几个,一个一个查就行。
把 ∣x∣ 从 0 拖到 7。每到一列,只需要问一句:50−x2 是不是平方数?
这一招的要点是先证明候选只有有限个。只要范围圈住了,哪怕笨办法也一定能做完。
第 4 站 · 奇偶:有时一个解都没有
一题多解
求 x2−y2=21 的正整数解。
分解成积
(x−y)(x+y)=21。x、y 是正整数,所以 x+y>x−y>0,只有两种拆法:
- x−y=1,x+y=21:x=11,y=10
- x−y=3,x+y=7:x=5,y=2
共两组:(11,10) 和 (5,2)。
代价最快,但要方程本身能分解。
先估范围再枚举
x>y,所以 x≥y+1,x2−y2≥(y+1)2−y2=2y+1。于是 2y+1≤21,y≤10。
把 y=1,2,…,10 逐个代入,看 21+y2 是不是平方数:只有 y=2(25=52)和 y=10(121=112)。
代价不依赖分解,但要多试几次。
同一个方程,把 21 换成 30 会怎样?
x² − y² = 30 没有整数解
第 1 / 4 步 -
还是先分解 (x−y)(x+y)=30。
(x−y)(x+y)=30
-
两个因数的奇偶性相同
-
两种情况都不行
-
结论
练一练
方程 2x+3y=20 有多少组正整数解?
提示 · 方向2x 和 20 都是偶数,那 3y 呢?
提示 · 方法y 必须是偶数。再用 x>0 给 y 圈一个范围。
提示 · 第一步3y<20,所以 y≤6;y 是正偶数,只能是 2,4,6。
完整解答y=2 时 x=7;y=4 时 x=4;y=6 时 x=1。共 3 组。
在方程 xy+2x−y=7 的所有整数解中,x 最大是多少?
提示 · 方向左边再减去一个常数,就能分解成两个一次式的乘积。
提示 · 方法xy+2x−y−2=(x−1)(y+2)。两边同时减 2。
提示 · 第一步(x−1)(y+2)=5。5 能拆成哪几对整数的乘积?
完整解答x−1 可以是 1,5,−1,−5,所以 x 可以是 2,6,0,−4。最大是 6(这时 y+2=1,y=−1;检验:−6+12+1=7)。
方程 x2+y2=65 有多少组整数解?
提示 · 方法∣x∣≤8。对 ∣x∣=0,1,…,8 逐个看 65−x2 是不是平方数。别忘了正负号。
提示 · 第一步65−1=64,65−16=49,65−49=16,65−64=1 是平方数,其余不是。
完整解答(∣x∣,∣y∣) 可以是 (1,8)、(4,7)、(7,4)、(8,1) 四种。每种的 x、y 各有正负两种选择,共 4×4=16 组。
方程 x1+y1=61 有多少组正整数解?
提示 · 方向先去分母,变成整式方程,再想办法分解。
提示 · 方法去分母得 6x+6y=xy,即 xy−6x−6y=0。两边加上一个数,让左边能分解。
完整解答x、y 是正整数,所以 x−6 和 y−6 都大于 −6。如果两个都是负数,它们的积小于 36,不行。所以两个都是正数,各取 36 的一个正因数。36 有 9 个正因数,共 9 组解。