## Let $\operatorname{smpf}(n)$ be the smallest prime factor of $n$.

$\operatorname{smpf}(91)=7$ because $91=7\times 13$ and $\operatorname{smpf}(45)=3$ because $45=3\times 3\times 5$.

Let $S(n)$ be the sum of $\operatorname{smpf}(i)$ for $2 \le i \le n$.

E.g. $S(100)=1257$.

Find $S(10^{12}) \bmod 10^9$.

### To solve this problem, we will generate the values of $g(x)$ for each $x$ from 2 to $10^6$ and sum them up to find the value of $G(10^6)$.

Let’s start by writing a function to calculate the value of $\alpha(n)$ and $\beta(n)$ for a given power $n$. We can use the properties of $(1+\sqrt 7)^n$ to define recursive formulas for $\alpha(n)$ and $\beta(n)$.

“`python

def calculate_value(n):

alpha = (1 + math.sqrt(7))**n + (1 – math.sqrt(7))**n

beta = (1 + math.sqrt(7))**n – (1 – math.sqrt(7))**n

return round(alpha), round(beta)

“`

Next, we need to implement a function to calculate the value of $g(x)$ for a given number $x$. We will start from $n = 1$ and keep increasing it until we find the smallest $n$ that satisfies the two congruence conditions.

“`python

def calculate_g(x):

n = 1

while True:

alpha, beta = calculate_value(n)

if alpha % x == 1 and beta % x == 0:

return n

n += 1

“`

Now, we can calculate the value of $G(10^6)$ by iterating over all $x$ values from 2 to $10^6$ and summing up the corresponding $g(x)$ values.

“`python

G = 0

for x in range(2, 10**6 + 1):

G += calculate_g(x)

“`

Finally, let’s print the value of $G(10^6)$.

“`python

print(G)

“`

When we run this code, it will calculate the value of $G(10^6)$, which may take a significant amount of time depending on the performance of your computer.

##### More Answers:

Prime Triples and Geometric SequencesTricoloured Coin Fountains

Simbers