# Solving an inequality involving the Fibonacci function

How can I solve an inequality that involves the Fibonacci function? For instance, say I want to determine for which values of $n$ we get that $$F_n\leqslant 1000.$$ I tried to use Solve and Reduce, like this,

Reduce[(Fibonacci[n] < 40) && n \[Element] Integers, {n}]


But I get, in both cases, this error code: “This system cannot be solved with the methods available to Reduce (or Solve)”.

One alternative solution is to use plots, but this wont work if we're dealing with large values, example, $$F_n\leqslant 4.183713\cdot10^{11}.$$

So how to solve these type of inequalities manually?

• In the help NestWhile[(# + 1) &, 1, Fibonacci[#] < 1000 &] Commented Apr 14, 2016 at 18:35
• Could use the method here to invert the equality, then adjust for inequality. Commented Apr 14, 2016 at 21:00

As commented:

    f[x] := NestWhile[(# + 1) &, 1, Fibonacci[#] <= x &,   1, \[Infinity], -1]


For 1000:

f[1000]


16

f[4.183713*10^11]


57

To make sure:

Fibonacci[57] < 4.183713*10^11 < Fibonacci[58]


gives True.

• Fibonacci[58] is 591286729879 which greater than 4.183713*10^11 Commented Apr 14, 2016 at 18:31
• @BlacKow You were right, it was always off by one index. Just fixed it. Commented Apr 14, 2016 at 18:39
fibbo[n_Integer] := Fibonacci[Range[Floor[Log[GoldenRatio, Sqrt[5]*n + 1/2]]]]

fibbo[10000]

{1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765}


And see here Fibonacci Sequence Generator