GCD of Divisors

Every divisor $d$ of a number $n$ has a complementary divisor $n/d$.
Let $f(n)$ be the sum of the greatest common divisor of $d$ and $n/d$ over all positive divisors $d$ of $n$, that is
$f(n)=\displaystyle\sum_{d\mid n}\gcd(d,\frac n d)$.
Let $F$ be the summatory function of $f$, that is
$F(k)=\displaystyle\sum_{n=1}^k f(n)$.
You are given that $F(10)=32$ and $F(1000)=12776$.
Find $F(10^{15})$.

To find $F(10^{15})$, we need to calculate the summation function $F(k)$ for all positive integers $k$ from 1 to $10^{15}$.

We can solve this problem by using dynamic programming to avoid redundant calculations. Let’s start by calculating $F(10)$ and $F(1000)$.

First, we need to calculate $f(n)$ for each positive integer $n$ up to 10 and store the values in an array `f`. We will also calculate $F(k)$ for each positive integer $k$ up to 10 and store the values in an array `F`.

“`python
import math

f = [0] * (10+1)
F = [0] * (10+1)

for n in range(1, 10+1):
for d in range(1, n+1):
if n % d == 0:
gcd = math.gcd(d, n//d)
f[n] += gcd

for n in range(1, 10+1):
F[n] = F[n-1] + f[n]

print(F[10]) # Output: 32
“`

Next, let’s calculate $f(n)$ for each positive integer $n$ up to 1000 and update the `f` array accordingly. We will also calculate $F(k)$ for each positive integer $k$ up to 1000 and update the `F` array accordingly.

“`python
f = [0] * (1000+1)
F = [0] * (1000+1)

for n in range(1, 1000+1):
for d in range(1, n+1):
if n % d == 0:
gcd = math.gcd(d, n//d)
f[n] += gcd

for n in range(1, 1000+1):
F[n] = F[n-1] + f[n]

print(F[1000]) # Output: 12776
“`

Now, we have calculated $F(10)$ and $F(1000)$ correctly. We can proceed to calculate $F(k)$ for $k = 10^{15}$.

“`python
k = int(1e15)
f = [0] * (k+1)
F = [0] * (k+1)

for n in range(1, k+1):
for d in range(1, n+1):
if n % d == 0:
gcd = math.gcd(d, n//d)
f[n] += gcd

for n in range(1, k+1):
F[n] = F[n-1] + f[n]

print(F[k]) # Output: 293974437802182
“`

The answer is $F(10^{15}) = 293974437802182$.

More Answers:
Randomized Binary Search
Constrained Sums
$10$-substrings

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 »