58 lines
2.4 KiB
Plaintext
58 lines
2.4 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"id": "b5da29ec",
|
|
"metadata": {},
|
|
"source": [
|
|
"# [1000-digit Fibonacci Number](https://projecteuler.net/problem=25)\n",
|
|
"\n",
|
|
"This problem can be solved with a scientific calculator!\n",
|
|
"\n",
|
|
"We're looking at [Fibonacci numbers](https://en.wikipedia.org/wiki/Fibonacci_sequence) again, after last seeing them in [problem 2](https://projecteuler.net/problem=2). Our goal is to find the first 1000 digit number in the sequence. Mathematically, we can state this is as the lowest $n$ such that\n",
|
|
"$$1+\\log{F_n} \\geq 1000$$\n",
|
|
"(Here, $\\log$ is the base 10 logarithm).\n",
|
|
"\n",
|
|
"To assist in finding $n$, we can employ Binet's formula:\n",
|
|
"$$F_n = \\frac{\\phi^n - (-\\phi)^{-n}}{\\sqrt{5}}$$\n",
|
|
"Here, $\\phi$ is the [golden ratio](https://en.wikipedia.org/wiki/Golden_ratio).\n",
|
|
"\n",
|
|
"Binet's formula is exact, but we can make our work a little easier by approximating.\n",
|
|
"$$F_n \\approx \\frac{\\phi^n}{\\sqrt{5}}$$\n",
|
|
"This approximation works since $(-\\phi)^{-n}$ approaches 0 as $n$ increases. This also means this approximation gets more accurate as $n$ increases, which is especially convenient since we're looking for a large $n$. Substituting this approximation into the above inequality, we have\n",
|
|
"$$1 + \\log{\\frac{\\phi^n}{\\sqrt{5}}} \\geq 1000$$\n",
|
|
"\n",
|
|
"Now with a little bit of algebra, we can solve for $n$.\n",
|
|
"$$n \\geq 999\\log_{\\phi}10 + \\log_{\\phi}\\sqrt{5}$$\n",
|
|
"If you're trying to solve this with a scientific calculator, you probably don't have a $\\log_{\\phi}$ button (*please let me know if you do*), but we can just use the [logarithmic change of base formula](https://en.wikipedia.org/wiki/List_of_logarithmic_identities). This ends up getting us\n",
|
|
"$$n \\geq 4781.85927\\ldots$$\n",
|
|
"Therefore, we want $n=4782$.\n",
|
|
"\n",
|
|
"## Relevant sequences\n",
|
|
"* Fibonacci numbers: [A000045](https://oeis.org/A000045)"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "SageMath 9.5",
|
|
"language": "sage",
|
|
"name": "sagemath"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.2"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|