The Fibonacci sequence is defined by the recurrence relation:
$F_n = F_{n−1} + F_{n−2}$, where $F_1 = 1$ and $F_2 = 1$. Hence the first 12 terms will be:
$\begin{align*} F_1 &= 1\\ F_2 &= 1\\ F_3 &= 2\\ F_4 &= 3\\ F_5 &= 5\\ F_6 &= 8\\ F_7 &= 13\\ F_8 &= 21\\ F_9 &= 34\\ F_{10} &= 55\\ F_{11} &= 89\\ F_{12} &= 144 \end{align*}$
The 12th term, $F_{12}$, is the first term to contain three digits.
What is the first term in the Fibonacci sequence to contain 1000 digits?
In [1]:
from math import log, ceil
phi = (1 + 5**.5)/2
print(int(ceil((log(5)/2 + 999*log(10))/log(phi))))
Explanation: The nth Fibonacci number is approximately $\phi^n / \sqrt5$ where $\phi = (1 + \sqrt5)/2$.
We solve $\phi^n / \sqrt5 = 10^{999}$
$\begin{align*} \phi^n &= \sqrt5 \cdot 10^{999} \\ n \log \phi &= \log(5)/2 + 999 \log(10) \\ n &= (\log(5)/2 + 999 \log(10))/\log(\phi) \\ n &\approx 4781.86 \end{align*}$