0094 近等边三角形
* * * *
拉格朗日计划
* * * *
近等边三角形

容易证明,不存在边长和面积均为整数的等边三角形。但是,存在例如三边长为5、5、6的几乎等边的三角形 ,其面积样为12,也是整数。

定义近等边三角形为有两条边长度相同且与第三边的边长最多相差1的三角形。

考虑所有边长和面积均为整数且周长不超过十亿的近等边三角形,并求其周长之和。

本题难度:



解答

本题是前100题中较难的题。若$a$是近等边三角形的腰长,$b=a\pm1$是其底长,并记$q=(2a+b)/2$,则由海伦公式可得该三角形的面积是 $$s=\sqrt{q(q-a)(q-a)(q-b)}=(q-a)\sqrt{q(q-b)}=\frac{q-a}{2}\sqrt{(2a)^2-b^2}=\frac{b}{4}\sqrt{(2a)^2-b^2}=\frac{bc}{4}.$$ 其中 $$c^2=(2a)^2-b^2.$$ 若$a$是偶数,则$b,c$都将是奇数,从而$s$无法为整数。因此$a$必须是奇数,此时$b,c$是偶数,令$c=2d$,则有 $$4d^2=4a^2-b^2.$$ 代入$b=a\pm1$得 $$4d^2=3a^2\mp2a-1.$$ 将上式看作关于$a$的二次方程可解得 $$a=\frac{\pm1+2\sqrt{1+3d^2}}{3}.$$ 因此$3d^2+1$需为平方数。设$q^2=1+3d^2$,则$(q,d)$是Pell方程 $$q^2-3d^2=1,$$ 的一组解。该方程的基本解是$q_1=2, d_1=1$,其他正整数解可由 $$\begin{cases}q_k=q_{k-1}q_1+3d_{k-1}d_1=2q_{k-1}+3d_{k-1}, \\ d_k=q_{k-1}d_1+d_{k-1}q_1=q_{k-1}+2d_{k-1}, \end{cases}$$ 递推计算。此外 $$a=\frac{2q\pm1}{3},$$ 因此$q$模$3$还需要分别为$\pm1$。综合上述分析并计算可得结果$518408346$。

q,d,s=2,1,0
while d <= 166666666:
    if q%3==1:s=s+2*q+2
    if q%3==2:s=s+2*q-2
    q,d=q*2+3*d,q+2*d
print s-2 # if q=2, then a=1,b=0, which does not form a triangle