require "bigdecimal" x = BigDecimal("1", 1000) epsi = BigDecimal("1E-1000", 1000) half = BigDecimal("0.5", 1000) while (delta = (1 - 2 * x**2) * x * half).abs > epsi do x += delta end print (x * 2).to_s[2,1001]