link converge

procedure main()
   local conv, seq, convergents, p1, p2, q1, q2, a

   seq := []

   convergents := []

   while put(seq, read())

   every conv := converge(seq) do 
      put(convergents, conv)

   p2 := convergents[-1][1]	# last convergent
   q2 := convergents[-1][2]
   p1 := convergents[-2][1]	# next-to-last
   q1 := convergents[-2][2]

   # Calculate values for (a + sqrt(b)) / c.

   writes("<", a := p2 - q1, ",")
   writes(x ^ 2 + 4 * q2 * p1, ",")
   write(2 * q2, ">")

end