圆周上的有理点有这么几个情况.
1. 没有有理点.
\[x^2+y^2=3\]
是一个例子.
2. 恰有一个有理点.
比如 \((x+\sqrt2)^2+(y+\sqrt2)^2=4\) 只有原点.
3. 恰有两个有理点.
比如
\[x^2+(y+\sqrt2)^2=3\]
4. 有无穷个有理点 这是我们关心的情形.
很容易证明, 如果一个圆周上有 \(3\) 个有理点, 则有无穷多个有理点在此圆周上, 并且此圆的圆心是有理点, 半径的平方是有理数. 所以, 只要关注
\begin{equation}x^2+y^2=\frac pq\end{equation}
(\(p, q\) 是互质的正整数) 即可.
中心是有理点
方程 \((1)\) 有有理解当且仅当 \(p, q\) 都能表成两个整数的平方和. 在有有理解的情形下, 有无穷多个有理点在这个圆周上, 也就是有无穷多对有理数的平方和是 \(\dfrac pq\).
有几个办法可以定出 \((1)\) 的有理解.
初等一点的办法, 可以从
\[x^2+y^2=a^2+b^2, \]
着手, 这里 \((a,b)\) 是 \((1)\) 的一组有理解, 即 \(a^2+b^2=\dfrac pq\) 为真. 于是
\[(x+a)(x-a)=(b+y)(b-y). \]
当 \(y+b\ne0\), 且 \(x-a\ne0\) 时,
\[\frac{x+a}{y+b}=\frac{b-y}{x-a}. \]
设这个值是有理数 \(t\). 由
\begin{equation}\frac{x+a}{y+b}=\frac{b-y}{x-a}=t\end{equation}
得
\begin{cases}x+a=t(y+b)\\ t(x-a)=b-y.\end{cases}
这是很简单的线性方程组. 根据 Cramer 法则
\begin{equation}\begin{cases}x=\frac{(t^2-1)a+2bt}{t^2+1}\\ y=\frac{(1-t^2)b+2at}{t^2+1}.\end{cases}\end{equation}
但这并不是我们要寻找的全部有理解, 但也仅仅只有一个点 \((a,-b)\) 不在其中.
下面是一种普遍有效的办法, 这也是代数几何, 椭圆曲线的理论所采纳的途径, 尽管表现形式可能有别.
令
\begin{equation}x=a+t, \; y=b+tu.\end{equation}
带入 \((1)\) 得
\[(a+t)^2+(b+tu)^2=\frac pq.\]
注意 \(a^2+b^2=\dfrac pq\), 因此
\[2t(a+bu)+t^2(u^2+1)=0\]
导出 \(t=0\) 或
\begin{equation}t=-\frac{2(a+bu)}{u^2+1}.\end{equation}
记得 \((4)\), 于是
\begin{equation}x=a-\frac{2(a+bu)}{u^2+1}=\frac{(u^2-1)a-2bu}{u^2+1}, \; y=b-\frac{2u(a+bu)}{u^2+1}=\frac{(1-u^2)b-2au}{u^2+1}.\end{equation}
从 \((2)\), \((4)\) 看出: \((3)\) 中的 \(t\) 与 \((6)\) 中的 \(u\) 都与两点 \((x,y)\) 与 \((a,b)\) 所成直线的斜率有关, 只不过 \(t\) 表示这个斜率的相反数, 而 \(u\) 就是这个斜率. 这也轻松的解释了为什么 \((3)\) 与 \((6)\) 给出了圆上除 \((a,-b)\) 这一个点以外所有的有理点.
这个手段可以用来搜索更一般的二次曲线
\[ax^2+bxy+cy^2+dx+ey+f=0\]
上的有理点.
中心非有理点
圆心不是有理点的圆上有简洁明了的一般性的结论么? 遗憾的是, 没有这样利索的定理. 随便找一个(中心非有理点的)圆, 很可能(暂时)无法弄清楚到底有几个有理点.
举个例子, 中心在 \((\pi,e)\) 的圆上有几个有理点?
看起来没啥特别, 但这只是表象, 这其实是一个完全不同的问题: \(1,\pi,e\) 在有理数域上线性无关, 即是否存在不全为 \(0\) 的有理数 \(l\), \(m\), \(n\), 使得
\[l\pi+me+n=0.\]
这是一个很有名的 open problem.
我们相信中心在 \((\pi,e)\) 的圆上有至多 \(1\) 个有理点. 遗憾的是, 暂时无法提供理由来说明不能有 \(2\) 个.