#L6687. 「Project Euler 66」解方程

「Project Euler 66」解方程

题目描述

求解不定方程 x2Dy2=1x^2 - D y^2 = 1 的最小正整数解(x,yx, y 均为正整数)。

已知 DD 不是完全平方数,保证方程存在正整数解。

输入格式

  • 第一行:一个整数 TT,表示测试数据组数。
  • 接下来 TT 行:每行一个整数 DD,表示对应测试用例的方程参数。

输出格式

对于每组测试数据,输出一行两个整数 xxyy(空格分隔),表示方程 x2Dy2=1x^2 - D y^2 = 1 的最小正整数解。

样例

输入

4
2
5
7
13

输出

3 2
9 4
8 3
649 180

数据范围与提示

  • 限制条件:1T1001 \leq T \leq 1002D10002 \leq D \leq 1000,且 DD 不是完全平方数。
  • 核心考点:佩尔方程(Pell Equation)的最小正整数解求解,通常通过连分数展开法实现。