With a couple of simplifies, it works surprisingly well with symbolic coefficients: fitrat[L_List, v_: (n - 1)] := Simplify@If[MemberQ[FullSimplify[#2 - #], 0] || #2 == {}, #, # + v/fitrat[Range[Length@#2]/(#2 - #), v - 1]] &[L[[1]], Rest@L] In[35]:= Table[(a e - a n - d n + b e n - b n^2 + c e n^2 - c n^3)/((e - n) n), {n, 7}] Out[35]= {(-a - b - c - d + a e + b e + c e)/ (-1 + e), (-2 a - 4 b - 8 c - 2 d + a e + 2 b e + 4 c e)/( 2 (-2 + e)), (-3 a - 9 b - 27 c - 3 d + a e + 3 b e + 9 c e)/( 3 (-3 + e)), (-4 a - 16 b - 64 c - 4 d + a e + 4 b e + 16 c e)/( 4 (-4 + e)), (-5 a - 25 b - 125 c - 5 d + a e + 5 b e + 25 c e)/( 5 (-5 + e)), (-6 a - 36 b - 216 c - 6 d + a e + 6 b e + 36 c e)/( 6 (-6 + e)), (-7 a - 49 b - 343 c - 7 d + a e + 7 b e + 49 c e)/( 7 (-7 + e))} In[36]:= fitrat@% Out[36]= b - d/(e - n) + a/n + c n In[34]:= Together@% Out[34]= (a e - a n - d n + b e n - b n^2 + c e n^2 - c n^3)/((e - n) n) Experimenting with this ought to clarify why it works. --rwg On Wed, Jun 13, 2018 at 1:20 AM Bill Gosper <billgosper@gmail.com> wrote:
Out[551]= {3, 5, 28/5, 165/28, 91/15, 68/11, 570/91, 253/40, 325/51, 609/95, 496/77}
In[552]:= fitrat@%
Out[552]= 3 + (-1 + n)/(1/2 + (-2 + n)/(26/7 + (-3 + n)/(203/2 + 28 (-4 + n))))
In[553]:= FullSimplify@%
Out[553]= 3/4 (9 + 1/(1 - 2 n) - 4/n)
fitrat[L_List, v_: (n - 1)] := If[MemberQ[#2 - #, 0] || #2 == {}, #, # + v/fitrat[Range[Length@#2]/(#2 - #), v - 1]] &[L[[1]], Rest@L]
Has anyone a nice explanation of why this works? --rwg