OFFSET
0,4
COMMENTS
Given a real number x >= 1 (here x = Pi), start with 1/0 and 0/1 and construct the sequence of fractions f_n = r_n/s_n such that:
f_{n+1} = (r_k + r_n)/(s_k + s_n) where k is the greatest integer < n such that f_k <= x <= f_n. Sequence gives values r_n.
Write a 0 if f_n <= x and a 1 if f_n > x. This gives (for x = Pi) the sequence 1, 0, 0, 0, 1, 1, 1, 1, 0 (7 times), 1 (15 times), 0, 1, ... Ignore the initial string 1, 0, 0, 0, which is always the same. Look at the run lengths of the remaining sequence, which are in this case L_1 = 4, L_2 = 7, L_3 = 15, L_4 = 1, L_5 = 292, etc. (A001203). Christoffel showed that x has the continued fraction representation (L_1 - 1) + 1/(L_2 + 1/(L_3 + 1/(L_4 + ...))).
REFERENCES
C. Brezinski, History of Continued Fractions and Padé Approximants, Springer-Verlag, 1991; pp. 151-152.
E. B. Christoffel, Observatio arithmetica, Ann. Math. Pura Appl., (II) 6 (1875), 148-153.
LINKS
Dave Rusin, Farey fractions on sci.math [Broken link]
Dave Rusin, Farey fractions on sci.math [Cached copy]
EXAMPLE
The fractions are 1/0, 0/1, 1/1, 2/1, 3/1, 4/1, 7/2, 10/3, 13/4, 16/5, 19/6, 22/7, 25/8, 47/15, ...
MATHEMATICA
f[x_, n_] := (m = Floor[x]; f0 = {m, m+1/2, m+1};
r = ({a___, b_, c_, d___} /; b < x < c) :> {b, (Numerator[b] + Numerator[c]) / (Denominator[b] + Denominator[c]), c}; Join[{m, m+1}, NestList[# /. r &, f0, n-3][[All, 2]]]); Join[{1, 0, 1, 2}, f[Pi, 48]] // Numerator (* Jean-François Alcover, May 18 2011 *)
CROSSREFS
KEYWORD
AUTHOR
N. J. A. Sloane, Aug 28 2004
EXTENSIONS
More terms from Joshua Zucker, May 08 2006
STATUS
approved