То, что вы ищете, это BigDecimal .
Что-то вроде этого может работать ( Я позволил этому запустить на моей машине в течение минуты, и он все еще не нашел ответа ... кажется вычислительно дорогим ):
require "bigdecimal"
n = (4 * 1000 * 1000)
sqr_5 = BigDecimal("5.0").sqrt(5)
sqr_5a1 = BigDecimal((1+sqr_5).to_s)
sqr_5m1 = BigDecimal((sqr_5-1).to_s)
fn = (sqr_5a1.power(n) - (sqr_5m1.power(n))) / ((2.power(n)) * sqr_5)
puts fn - 1