blob: 90040ea5d9faae3a6c89f419a9faebb3e84a1138 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
from math import floor, sqrt
n = 21894583143407671
def f(n, k, d):
return (floor(sqrt(4 * k * n)) + d) ** 2 - 4 * k * n
def is_square(n):
k = int(sqrt(n))
return n == k * k
for k in range(1, floor(n ** (1/3))+ 1):
d_max = int(floor(n ** (1/6) / (4 * sqrt(k))))
for d in range(0, d_max + 2):
q = f(n, k, d)
if q >= 0 and is_square(q):
print(q)
print("d ", k, d)
exit(1)
|