0496 内心与外心
* * * *
拉格朗日计划
* * * *
内心与外心

设ABC是三边长都为整数的三角形,内心为I。

设D是直线AI与ABC的外接圆的另一个(异于A)交点。

令$F(L)$为所有满足$AC=DI$ 且$BC\le L$的这样的三角形中BC边边长之和。

不难验证$F(15)=45$,因为只有三边长$(BC,AC,AB)=(6,4,5), (12,8,10), (12,9,7), (15,9,16)$的三角形ABC才满足条件。

求$F(10^9)$。

本题难度:



解答

由托勒密定理可得 $$AD\cdot BC=AB\cdot CD+AC\cdot BD$$ 分别用a,b,c表示BC,AC,AB,则不难验证$CD=BD=AC=b$,$AD=BC=a$,从而有 $$a^2=bc+b^2$$ 与勾股数的欧几里德公式类似,将上式转化为二次曲线上的有理点问题(见第143题、第257等题)可得生成公式 $$a=pq, \quad b=q^2, \quad c=p^2-q^2,$$ 其中$q < p < 2q$,用Farey序列生成符合要求的互素数对$p,q$再缩放并统计即得最终结果$2042473533769142717$。

import math 

L=10**9
n=2*int(math.sqrt(L))-1

a,b,c,d,s=n-1,n,n-2,n-1,0
while 2*a>b:
    g=a*b
    h=L//g
    s+=g*h*(h+1)
    k=(n+b)//d
    a,b,c,d=c,d,k*c-a,k*d-b

print s//2