本题是前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
 
               |