5.9 T2 推式子的过程

和题解的做法有些不同,不知道为什么,但是能够通过。

首先按题解的做法先将式子除以 \(z^2\)。令 \(\frac{y}{z}=a,\frac{x}{z}=b\)。有:

\[\begin{aligned} \frac{x^2}{z^2}-\frac{xy}{z^2}-\frac{y^2}{z^2}+\frac{y}{z}+1-\frac{x}{z}=0\\ -a^2-ab+b^2+a+1-b=0 \end{aligned} \]

题解的人类智慧:令 \(k=\frac{b-1}{a-1}\)。我们容易发现有 \(b=ak-k+1\)

我们的思路就是用 \(k\) 表示 \(a,b\),显然难度有点大(,但是没有其他做法,所以我们直接把 \(b=ak-k+1\) 代入到上面那个关于 \(a,b\) 的式子中:

\[-a^2-a(ak-k+1)+(ak-k+1)^2+a+1-(ak-k+1)=0\\ -a^2-a^2k+ak-a+a^2k^2+k^2+1-2ak^2+2ak-2k+a+1-ak+k-1=0\\ \]

读者可以尝试自行抵消一部分,最后我们把这依托写成一元二次方程的形式,我们有:

\[(k^2-k-1)a^2+(-2k^2+2k)a+(k^2-k+1)=0 \]

因为最后和题解有一点不一样,所以这里可能不保证正确性,但是若算的不一样,应该可以用下面一样的方法解这个方程:

\(A=k^2-k-1,B=-2k^2+2k,C=k^2-k+1\),有:

\[A+B+C=0 \]

令人惊讶,这样的话,上面那个式子有一个 \(a-1\) 的因式,但是先前我们的 \(a-1\) 是分母,所以这里 \(a\not=1\)。我们可以很容易写出另一个因式,为:

\[Aa-C=(k^2-k-1)a-(k^2-k+1) \]

OK,那么这个时候就能很容易表示 \(a\) 了,其值为:

\[\frac{k^2-k+1}{k^2-k-1} \]

代入我们最开始那个 \(b=ak-k+1\),有:

\[\begin{aligned} b&=\frac{k^3-k^2+k}{k^2-k-1}-\frac{k^3-k^2-k}{k^2-k-1}+\frac{k^2-k-1}{k^2-k-1}\\ &=\frac{k^2+k-1}{k^2-k-1} \end{aligned} \]

我们设 \(k\) 的最简分数形式为 \(\frac{p}{q}\),这里直接代入,算是比较简单了:

\[a=\frac{(\frac{p}{q})^2-\frac{p}{q}+1}{(\frac{p}{q})^2-\frac{p}{q}-1}=\frac{p^2-pq+q^2}{p^2-pq-q^2}\\ b=\frac{(\frac{p}{q})^2+\frac{p}{q}-1}{(\frac{p}{q})^2-\frac{p}{q}-1}=\frac{p^2+pq-q^2}{p^2-pq-q^2} \]

因为我们定义 \(a=\frac{y}{z},b=\frac{x}{z}\),所以我们可以这样表示 \(x,y,z\)

\[x=t(p^2+pq-q^2),y=t(p^2-pq+q^2),z=t(p^2-pq-q^2) \]

其中 \(t\) 为一个有理数,但是 \(\gcd(x,y,z)=1\),所以 \(t=1\)

因为 \(y\) 的限制,我们可以把 \(p,q\) 的绝对值范围控制在 \(O(\sqrt n)\) 大小的范围内,暴力枚举即可。

但是显然 \(a=1\) 的时候存在解 \(x=y=z=1\) 我们没有算到,加上就行了。

posted @ 2024-05-09 19:44  xingyu_xuan  阅读(10)  评论(0编辑  收藏  举报