首先,我们可以对给定的方程进行一些变形,帮助我们更清楚地理解题意:
给定的方程是:
2×(a2+b2)−1=n2给定一个奇数 n,请找到一对正整数 (a,b) ,使得
2×(a2+b2)−1=n2
如果存在解,则输出 a 和 b ;否则输出 −1 。
每个测试文件均包含多组测试数据。第一行输入一个整数 T(1≤T≤104) ,代表数据组数;
随后每组测试数据占一行,输入一个整数 n(1≤n≤1018) 题目中保证 n 为奇数。
对于每组测试数据,新起一行,若存在满足条件的 (a,b) ,输出两个整数 a 和 b ;否则输出 −1 。
如果存在多个解,可以输出任意一个,系统会自动判定是否正确,请自行检查答案正确性。
输入
2
1
13
输出
-1
2 9
说明
对于第二组测试数据,答案并不唯一,输出 6 和 7 也是正确的。