求正整數 x,使 x+100 和 x+268 均為完全平方數。在 10 萬以內暴力枚舉驗證。
#include <stdio.h>
#include "math.h"
int main() {
long int i, x, y;
for (i = 1; i < 100000; i++) {
x = sqrt(i + 100);
y = sqrt(i + 268);
if (x * x == i + 100 && y * y == i + 268) {
printf("\n%ld\n", i);
}
}
return 0;
}
21
261
1581
設 x+100=a^2, x+268=b^2,則 b^2-a^2=168 → (b-a)(b+a)=168。枚舉 168 因子對可解析求解,更高效。