题目:求所有的整数对(a,b),使1 + 2a + 22a+1 = b2成立。
解法:
显然, a=0时 b=∓2. 如果 a=1 或 a=2, b 没有整数解. 如果a=-1, b也没有整数解,如果 a<-1, 等式左边 (1 + 2a + 22a+1 ) 的值不是整数. 所以接下来只需考虑 a>2 的情况。
按下列次序转换方程:
1 + 2a + 22a+1 = b2
2a + 22a+1 = b2 - 1
2a (1+ 2a+1) = (b - 1)(b + 1)
如果a、b存在整数解, 则必定存在整数 i/j/m,使得下面3个等式成立。
i*j=(1+ 2a+1) ; ---[1] 根据该式,i、j必定为奇数.
i*2m = b-1; ---[2]
j*2a-m =b+1; ---[3]
合并[2]、[3]式可以得到:
i*2m = j*2a-m - 2;
i*2m-1 = j*2a-m-1 - 1; 根据该式,可以确定m=0 或 m=1。 (如果 m<0, 等式左边不是整数, 但右边是。如果 m>1,等式左边是偶数,)
当 m=0时,a=0,b=2。
当 m=1:
i = j*2a-2 - 1; 将该式代入[1] 可得:
(j*2a-2 - 1)*j = 1+ 2a+1;
j 2*2a-2 - j = 1+ 2a+1;
2a-2 (j 2 – 8) = j + 1; 由于 a>2 并且j 是基数, 所以j只能为 3. 当 j=3时,a=4, b=∓23.
所以总共只有4组整数解: (0, 2) 、(0, -2)、(4, 23)、 (4, -23)。
这道题是公司的一个同事在内部论坛发的问题,不知道题目的来源,我也没在网上搜索。
感谢2个同事指出了我的解法中的2个小错误。