Fibonacci Paths

Alice walks on a lattice grid. She can step from one lattice point $A (a,b)$ to another $B (a+x,b+y)$ providing distance $AB = \sqrt{x^2+y^2}$ is a Fibonacci number $\{1,2,3,5,8,13,\ldots\}$ and $x\ge 0,$ $y\ge 0$.

In the lattice grid below Alice can step from the blue point to any of the red points.

Let $F(W,H)$ be the number of paths Alice can take from $(0,0)$ to $(W,H)$.
You are given $F(3,4) = 278$ and $F(10,10) = 215846462$.

Find $F(10\,000,10\,000) \bmod 1\,000\,000\,007$.

To solve this problem, we will use dynamic programming to compute the number of paths from $(0,0)$ to $(W,H)$.

First, let’s define a function `fibonacci(n)` that returns the n-th Fibonacci number. We can implement this function using the recursive definition of Fibonacci numbers:

“`python
def fibonacci(n):
if n <= 0: return 0 elif n == 1: return 1 else: return fibonacci(n-1) + fibonacci(n-2) ``` Next, we define a function `count_paths(W, H)` that computes and returns the number of paths from $(0,0)$ to $(W,H)$. We will use a 2D matrix to store the intermediate results. ```python def count_paths(W, H): # Create a (W+1)x(H+1) matrix to store the intermediate results dp = [[0] * (H+1) for _ in range(W+1)] # Initialize the base cases dp[0][0] = 1 # Compute the number of paths for each cell for i in range(W+1): for j in range(H+1): # Check if the distance is a Fibonacci number if fibonacci(i*i + j*j) != 0: # Count paths from the previous cells if i > 0:
dp[i][j] += dp[i-1][j]
if j > 0:
dp[i][j] += dp[i][j-1]

# Return the number of paths from (0,0) to (W,H)
return dp[W][H]
“`

Now, we can compute the value of `F(10000, 10000)` modulo `1_000_000_007` by calling the `count_paths` function.

“`python
result = count_paths(10_000, 10_000) % 1_000_000_007
print(result)
“`

This will give us the desired value of `F(10_000, 10_000) % 1_000_000_007`.

More Answers:
Incomplete Words II
Largest Prime
A Long Chess Match

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded

Share:

Recent Posts

Mathematics in Cancer Treatment

How Mathematics is Transforming Cancer Treatment Mathematics plays an increasingly vital role in the fight against cancer mesothelioma. From optimizing drug delivery systems to personalizing

Read More »