Skip to content

Instantly share code, notes, and snippets.

@olooney
Created June 4, 2024 23:38
Show Gist options
  • Save olooney/493c848091f2e2020d366b8defacb991 to your computer and use it in GitHub Desktop.
Save olooney/493c848091f2e2020d366b8defacb991 to your computer and use it in GitHub Desktop.
"""
There are a surprising number of integers where the square root can be written
as the sum of the digits of the original minus 2. Even more if you're willing
to group digits together in order to make the sum work. This program finds all
299 such examples for n < 10e9. Ultimately this works because the square root
of a number tends to have roughly half as many digits as the original number,
so if you break a number in half, you'll already be in the ballpark of the
square root. For example, `sqrt(442,225) = 665 = (442 + 225) - 2`. The minus
two is arbitary - this works for other offsets as well - but offset 2 gets
you six matches for n <= 289 so it looks impressive right out of the gate.
"""
import math
import sys
from typing import Union, List, Tuple, Iterator
class DigitSumSearch:
"""
Scans for instances where `sqrt(n) = sum(digits of n) - 2` such as:
`sqrt(25) = 5 = (2 + 5) - 2`.
It can also group digits as needed to make the sum work, such as:
`sqrt(121) = 11 = (12 + 1) - 2`.
"""
def __init__(
self,
offset: int = 2,
max_digit_group_length: int = 5,
max_digit_cache_length: int = 5
):
self.offset = int(offset)
self.max_digit_group_length = int(max_digit_group_length)
self.max_digit_cache_length = int(max_digit_cache_length)
self.digit_cache = {}
def check_sum_of_digits(self, digits: Union[int, str], target: int) -> List[int]:
"""
Uses dynamic programing to find groups of digits which sum to a target value.
"""
digits = str(digits)
def recursive(digits, target):
# successful base case: used all digits and found exact match
if len(digits) == 0 and target == 0:
return []
# digit sum is already too big so we can stop searching.
if target < 0:
return None
# check the cache
if (digits, target) in self.digit_cache:
return self.digit_cache[(digits, target)]
# search for possible digit groupings that might work.
for length in range(1, self.max_digit_group_length + 1):
if len(digits) >= length:
n = int(digits[:length])
result = recursive(digits[length:], target - n)
if result is not None:
answer = [n] + result
if len(answer) <= self.max_digit_cache_length:
self.digit_cache[(digits, target)] = answer
return answer
# No solution possible
if len(digits) <= self.max_digit_cache_length:
self.digit_cache[(digits, target)] = None
return None
return recursive(digits, target)
def check_pattern(self, n):
"""
Check if the square root of n is equal to the sum of its digits minus the offset.
"""
root = math.isqrt(n)
if root * root != n:
return None
return self.check_sum_of_digits(str(n), root + self.offset)
def search(self, a: int, b: int = None) -> Iterator[Tuple[int, List[int]]]:
"""
Searches from a to b (inclusive) for matching patterns
and returns them as pairs such as `(121, [12, 1])`.
"""
# if only a single argument is provided, scan up to that number.
if b is None:
a, b = 1, a
# search the given range
i = int(math.ceil(math.sqrt(a)))
while (n := i ** 2) <= b:
grouped_digits = self.check_pattern(n)
if grouped_digits:
yield n, grouped_digits
i += 1
def print_search(self, a: int, b: int = None):
"""
Calls search(a, b) and prints each match with human readable formatting.
"""
count = 0
for n, digit_groups in self.search(a, b):
root = math.isqrt(n)
digit_group_sum = " + ".join(f"{digit_group:,}" for digit_group in digit_groups)
print(f"sqrt({n:,}) = {root:,} = ({digit_group_sum}) - {self.offset}")
count += 1
print(f"\nNumber of matches found: {count}")
if __name__ == '__main__':
DigitSumSearch().print_search(10_000_000_000)
sqrt(4) = 2 = (4) - 2
sqrt(25) = 5 = (2 + 5) - 2
sqrt(64) = 8 = (6 + 4) - 2
sqrt(121) = 11 = (12 + 1) - 2
sqrt(196) = 14 = (1 + 9 + 6) - 2
sqrt(289) = 17 = (2 + 8 + 9) - 2
sqrt(1,024) = 32 = (10 + 24) - 2
sqrt(1,225) = 35 = (12 + 25) - 2
sqrt(1,936) = 44 = (1 + 9 + 36) - 2
sqrt(2,500) = 50 = (2 + 50 + 0) - 2
sqrt(4,225) = 65 = (42 + 25) - 2
sqrt(4,624) = 68 = (4 + 62 + 4) - 2
sqrt(6,889) = 83 = (68 + 8 + 9) - 2
sqrt(7,396) = 86 = (73 + 9 + 6) - 2
sqrt(8,464) = 92 = (84 + 6 + 4) - 2
sqrt(9,025) = 95 = (90 + 2 + 5) - 2
sqrt(9,604) = 98 = (96 + 0 + 4) - 2
sqrt(10,201) = 101 = (102 + 0 + 1) - 2
sqrt(12,100) = 110 = (12 + 100) - 2
sqrt(17,161) = 131 = (1 + 71 + 61) - 2
sqrt(17,956) = 134 = (1 + 79 + 56) - 2
sqrt(26,896) = 164 = (2 + 68 + 96) - 2
sqrt(27,889) = 167 = (2 + 78 + 89) - 2
sqrt(50,176) = 224 = (50 + 176) - 2
sqrt(110,224) = 332 = (110 + 224) - 2
sqrt(112,225) = 335 = (112 + 225) - 2
sqrt(118,336) = 344 = (1 + 1 + 8 + 336) - 2
sqrt(196,249) = 443 = (196 + 249) - 2
sqrt(204,304) = 452 = (20 + 430 + 4) - 2
sqrt(241,081) = 491 = (2 + 410 + 81) - 2
sqrt(250,000) = 500 = (2 + 500 + 0 + 0) - 2
sqrt(310,249) = 557 = (310 + 249) - 2
sqrt(426,409) = 653 = (4 + 2 + 640 + 9) - 2
sqrt(442,225) = 665 = (442 + 225) - 2
sqrt(446,224) = 668 = (44 + 622 + 4) - 2
sqrt(466,489) = 683 = (4 + 664 + 8 + 9) - 2
sqrt(574,564) = 758 = (5 + 745 + 6 + 4) - 2
sqrt(597,529) = 773 = (5 + 9 + 752 + 9) - 2
sqrt(602,176) = 776 = (602 + 176) - 2
sqrt(786,769) = 887 = (7 + 867 + 6 + 9) - 2
sqrt(792,100) = 890 = (792 + 100) - 2
sqrt(802,816) = 896 = (80 + 2 + 816) - 2
sqrt(808,201) = 899 = (80 + 820 + 1) - 2
sqrt(868,624) = 932 = (868 + 62 + 4) - 2
sqrt(879,844) = 938 = (87 + 9 + 844) - 2
sqrt(885,481) = 941 = (8 + 854 + 81) - 2
sqrt(902,500) = 950 = (902 + 50 + 0) - 2
sqrt(913,936) = 956 = (9 + 13 + 936) - 2
sqrt(966,289) = 983 = (966 + 2 + 8 + 9) - 2
sqrt(972,196) = 986 = (972 + 1 + 9 + 6) - 2
sqrt(978,121) = 989 = (978 + 12 + 1) - 2
sqrt(984,064) = 992 = (984 + 0 + 6 + 4) - 2
sqrt(990,025) = 995 = (990 + 0 + 2 + 5) - 2
sqrt(996,004) = 998 = (996 + 0 + 0 + 4) - 2
sqrt(1,002,001) = 1,001 = (1,002 + 0 + 0 + 1) - 2
sqrt(1,062,961) = 1,031 = (10 + 62 + 961) - 2
sqrt(1,229,881) = 1,109 = (1 + 229 + 881) - 2
sqrt(1,249,924) = 1,118 = (124 + 992 + 4) - 2
sqrt(1,495,729) = 1,223 = (1 + 495 + 729) - 2
sqrt(1,771,561) = 1,331 = (1 + 771 + 561) - 2
sqrt(1,779,556) = 1,334 = (1 + 779 + 556) - 2
sqrt(2,301,289) = 1,517 = (230 + 1,289) - 2
sqrt(2,768,896) = 1,664 = (2 + 768 + 896) - 2
sqrt(2,778,889) = 1,667 = (2 + 778 + 889) - 2
sqrt(3,171,961) = 1,781 = (3 + 1,719 + 61) - 2
sqrt(3,301,489) = 1,817 = (330 + 1,489) - 2
sqrt(4,182,025) = 2,045 = (4 + 18 + 2,025) - 2
sqrt(6,822,544) = 2,612 = (68 + 2 + 2,544) - 2
sqrt(7,268,416) = 2,696 = (7 + 2,684 + 1 + 6) - 2
sqrt(9,229,444) = 3,038 = (92 + 2,944 + 4) - 2
sqrt(10,316,944) = 3,212 = (1 + 0 + 3,169 + 44) - 2
sqrt(10,903,204) = 3,302 = (10 + 90 + 3,204) - 2
sqrt(11,102,224) = 3,332 = (1,110 + 2,224) - 2
sqrt(11,122,225) = 3,335 = (1,112 + 2,225) - 2
sqrt(12,823,561) = 3,581 = (12 + 8 + 2 + 3,561) - 2
sqrt(13,235,044) = 3,638 = (132 + 3,504 + 4) - 2
sqrt(13,586,596) = 3,686 = (1 + 3,586 + 5 + 96) - 2
sqrt(13,675,204) = 3,698 = (1 + 3,675 + 20 + 4) - 2
sqrt(13,697,401) = 3,701 = (1 + 3,697 + 4 + 0 + 1) - 2
sqrt(14,737,921) = 3,839 = (1 + 47 + 3,792 + 1) - 2
sqrt(15,389,929) = 3,923 = (15 + 3,899 + 2 + 9) - 2
sqrt(16,540,489) = 4,067 = (1 + 6 + 5 + 4,048 + 9) - 2
sqrt(18,421,264) = 4,292 = (18 + 4,212 + 64) - 2
sqrt(19,439,281) = 4,409 = (1 + 9 + 4,392 + 8 + 1) - 2
sqrt(20,784,481) = 4,559 = (2 + 0 + 78 + 4,481) - 2
sqrt(21,446,161) = 4,631 = (2 + 14 + 4,616 + 1) - 2
sqrt(22,174,681) = 4,709 = (2 + 21 + 7 + 4,681) - 2
sqrt(22,714,756) = 4,766 = (2 + 2 + 7 + 1 + 4,756) - 2
sqrt(23,348,224) = 4,832 = (2 + 3 + 3 + 4,822 + 4) - 2
sqrt(23,522,500) = 4,850 = (2,352 + 2,500) - 2
sqrt(24,492,601) = 4,949 = (24 + 4,926 + 0 + 1) - 2
sqrt(24,910,081) = 4,991 = (2 + 4,910 + 0 + 81) - 2
sqrt(25,000,000) = 5,000 = (2 + 5,000 + 0 + 0 + 0) - 2
sqrt(26,522,500) = 5,150 = (2,652 + 2,500) - 2
sqrt(27,520,516) = 5,246 = (27 + 5,205 + 16) - 2
sqrt(28,665,316) = 5,354 = (28 + 6 + 6 + 5,316) - 2
sqrt(29,604,481) = 5,441 = (2 + 960 + 4,481) - 2
sqrt(32,205,625) = 5,675 = (32 + 20 + 5,625) - 2
sqrt(36,857,041) = 6,071 = (368 + 5,704 + 1) - 2
sqrt(40,246,336) = 6,344 = (4 + 0 + 2 + 4 + 6,336) - 2
sqrt(41,396,356) = 6,434 = (41 + 39 + 6,356) - 2
sqrt(43,665,664) = 6,608 = (4 + 36 + 6,566 + 4) - 2
sqrt(44,422,225) = 6,665 = (4,442 + 2,225) - 2
sqrt(44,462,224) = 6,668 = (444 + 6,222 + 4) - 2
sqrt(44,662,489) = 6,683 = (44 + 6,624 + 8 + 9) - 2
sqrt(45,670,564) = 6,758 = (45 + 6,705 + 6 + 4) - 2
sqrt(46,730,896) = 6,836 = (4 + 6,730 + 8 + 96) - 2
sqrt(48,469,444) = 6,962 = (4 + 8 + 4 + 6,944 + 4) - 2
sqrt(52,867,441) = 7,271 = (528 + 6,744 + 1) - 2
sqrt(56,685,841) = 7,529 = (5 + 6,685 + 841) - 2
sqrt(57,775,201) = 7,601 = (5 + 77 + 7,520 + 1) - 2
sqrt(60,777,616) = 7,796 = (6 + 0 + 7,776 + 16) - 2
sqrt(66,080,641) = 8,129 = (6 + 60 + 8,064 + 1) - 2
sqrt(66,961,489) = 8,183 = (6,696 + 1,489) - 2
sqrt(67,354,849) = 8,207 = (6 + 7,354 + 849) - 2
sqrt(68,194,564) = 8,258 = (6 + 8,194 + 56 + 4) - 2
sqrt(68,244,121) = 8,261 = (6 + 8,244 + 12 + 1) - 2
sqrt(71,961,289) = 8,483 = (7,196 + 1,289) - 2
sqrt(73,085,401) = 8,549 = (7 + 3 + 0 + 8,540 + 1) - 2
sqrt(77,880,625) = 8,825 = (7 + 7 + 8,806 + 2 + 5) - 2
sqrt(78,889,924) = 8,882 = (7,888 + 992 + 4) - 2
sqrt(79,049,881) = 8,891 = (7,904 + 988 + 1) - 2
sqrt(80,281,600) = 8,960 = (802 + 8,160 + 0) - 2
sqrt(82,119,844) = 9,062 = (8,211 + 9 + 844) - 2
sqrt(82,828,201) = 9,101 = (8,282 + 820 + 1) - 2
sqrt(82,882,816) = 9,104 = (8,288 + 2 + 816) - 2
sqrt(83,759,104) = 9,152 = (8 + 37 + 5 + 9,104) - 2
sqrt(85,359,121) = 9,239 = (85 + 35 + 9,121) - 2
sqrt(86,192,656) = 9,284 = (8 + 6 + 1 + 9,265 + 6) - 2
sqrt(87,086,224) = 9,332 = (8,708 + 622 + 4) - 2
sqrt(87,928,129) = 9,377 = (87 + 9,281 + 2 + 9) - 2
sqrt(90,935,296) = 9,536 = (90 + 9,352 + 96) - 2
sqrt(91,164,304) = 9,548 = (9,116 + 430 + 4) - 2
sqrt(91,795,561) = 9,581 = (9 + 17 + 9,556 + 1) - 2
sqrt(96,687,889) = 9,833 = (9,668 + 78 + 89) - 2
sqrt(96,746,896) = 9,836 = (9,674 + 68 + 96) - 2
sqrt(96,983,104) = 9,848 = (9 + 6 + 9,831 + 0 + 4) - 2
sqrt(97,337,956) = 9,866 = (9,733 + 79 + 56) - 2
sqrt(97,397,161) = 9,869 = (9,739 + 71 + 61) - 2
sqrt(98,049,604) = 9,902 = (9,804 + 96 + 0 + 4) - 2
sqrt(98,109,025) = 9,905 = (9,810 + 90 + 2 + 5) - 2
sqrt(98,168,464) = 9,908 = (9,816 + 84 + 6 + 4) - 2
sqrt(98,287,396) = 9,914 = (9,828 + 73 + 9 + 6) - 2
sqrt(98,346,889) = 9,917 = (9,834 + 68 + 8 + 9) - 2
sqrt(98,644,624) = 9,932 = (9,864 + 4 + 62 + 4) - 2
sqrt(98,704,225) = 9,935 = (9,870 + 42 + 25) - 2
sqrt(99,002,500) = 9,950 = (9,900 + 2 + 50 + 0) - 2
sqrt(99,121,936) = 9,956 = (9,912 + 1 + 9 + 36) - 2
sqrt(99,301,225) = 9,965 = (9,930 + 12 + 25) - 2
sqrt(99,361,024) = 9,968 = (9,936 + 10 + 24) - 2
sqrt(99,660,289) = 9,983 = (9,966 + 0 + 2 + 8 + 9) - 2
sqrt(99,720,196) = 9,986 = (9,972 + 0 + 1 + 9 + 6) - 2
sqrt(99,780,121) = 9,989 = (9,978 + 0 + 12 + 1) - 2
sqrt(99,840,064) = 9,992 = (9,984 + 0 + 0 + 6 + 4) - 2
sqrt(99,900,025) = 9,995 = (9,990 + 0 + 0 + 2 + 5) - 2
sqrt(99,960,004) = 9,998 = (9,996 + 0 + 0 + 0 + 4) - 2
sqrt(100,020,001) = 10,001 = (10,002 + 0 + 0 + 0 + 1) - 2
sqrt(102,010,000) = 10,100 = (102 + 0 + 10,000) - 2
sqrt(111,049,444) = 10,538 = (1 + 1 + 10,494 + 44) - 2
sqrt(132,618,256) = 11,516 = (1 + 3,261 + 8,256) - 2
sqrt(139,617,856) = 11,816 = (1 + 3,961 + 7,856) - 2
sqrt(177,715,561) = 13,331 = (1 + 7,771 + 5,561) - 2
sqrt(177,795,556) = 13,334 = (1 + 7,779 + 5,556) - 2
sqrt(201,412,864) = 14,192 = (2 + 0 + 14,128 + 64) - 2
sqrt(214,212,496) = 14,636 = (2,142 + 12,496) - 2
sqrt(246,615,616) = 15,704 = (24 + 66 + 15,616) - 2
sqrt(252,015,625) = 15,875 = (252 + 0 + 15,625) - 2
sqrt(277,688,896) = 16,664 = (2 + 7,768 + 8,896) - 2
sqrt(277,788,889) = 16,667 = (2 + 7,778 + 8,889) - 2
sqrt(349,615,204) = 18,698 = (3,496 + 15,204) - 2
sqrt(452,115,169) = 21,263 = (45 + 21,151 + 69) - 2
sqrt(682,254,400) = 26,120 = (682 + 25,440 + 0) - 2
sqrt(932,630,521) = 30,539 = (9 + 3 + 2 + 6 + 30,521) - 2
sqrt(993,132,196) = 31,514 = (99 + 31,321 + 96) - 2
sqrt(1,111,022,224) = 33,332 = (11,110 + 22,224) - 2
sqrt(1,111,222,225) = 33,335 = (11,112 + 22,225) - 2
sqrt(1,229,834,761) = 35,069 = (12 + 298 + 34,761) - 2
sqrt(1,235,100,736) = 35,144 = (1 + 2 + 35,100 + 7 + 36) - 2
sqrt(1,261,599,361) = 35,519 = (1 + 26,159 + 9,361) - 2
sqrt(1,305,015,625) = 36,125 = (1 + 30,501 + 5,625) - 2
sqrt(1,327,436,356) = 36,434 = (1 + 3 + 2 + 74 + 36,356) - 2
sqrt(1,359,101,956) = 36,866 = (1 + 35,910 + 1 + 956) - 2
sqrt(1,366,633,024) = 36,968 = (1 + 36,663 + 302 + 4) - 2
sqrt(1,369,296,016) = 37,004 = (1 + 36,929 + 60 + 16) - 2
sqrt(1,369,518,049) = 37,007 = (1 + 36,951 + 8 + 0 + 49) - 2
sqrt(1,369,962,169) = 37,013 = (1 + 36,996 + 2 + 1 + 6 + 9) - 2
sqrt(1,437,850,561) = 37,919 = (1 + 4 + 37,850 + 5 + 61) - 2
sqrt(1,441,037,521) = 37,961 = (1 + 441 + 0 + 37,521) - 2
sqrt(1,696,039,489) = 41,183 = (1,696 + 0 + 39,489) - 2
sqrt(1,786,414,756) = 42,266 = (1 + 786 + 41,475 + 6) - 2
sqrt(1,909,427,809) = 43,697 = (1 + 909 + 42,780 + 9) - 2
sqrt(1,932,042,025) = 43,955 = (1,932 + 0 + 42,025) - 2
sqrt(2,045,210,176) = 45,224 = (2 + 0 + 45,210 + 1 + 7 + 6) - 2
sqrt(2,239,844,929) = 47,327 = (2 + 2,398 + 44,929) - 2
sqrt(2,301,024,961) = 47,969 = (23,010 + 24,961) - 2
sqrt(2,373,248,656) = 48,716 = (23 + 7 + 32 + 48,656) - 2
sqrt(2,491,008,100) = 49,910 = (2 + 49,100 + 810 + 0) - 2
sqrt(2,499,100,081) = 49,991 = (2 + 49,910 + 0 + 0 + 81) - 2
sqrt(2,500,000,000) = 50,000 = (2 + 50,000 + 0 + 0 + 0 + 0) - 2
sqrt(2,555,504,704) = 50,552 = (25 + 55 + 50,470 + 4) - 2
sqrt(2,595,087,364) = 50,942 = (2 + 59 + 50,873 + 6 + 4) - 2
sqrt(2,630,048,656) = 51,284 = (2,630 + 0 + 48,656) - 2
sqrt(2,707,224,961) = 52,031 = (27,072 + 24,961) - 2
sqrt(2,752,366,369) = 52,463 = (27 + 52,366 + 3 + 69) - 2
sqrt(2,774,444,929) = 52,673 = (2 + 7,744 + 44,929) - 2
sqrt(2,866,852,849) = 53,543 = (28 + 668 + 52,849) - 2
sqrt(2,922,051,136) = 54,056 = (2,922 + 0 + 51,136) - 2
sqrt(3,054,551,824) = 55,268 = (30 + 54 + 55,182 + 4) - 2
sqrt(3,065,504,689) = 55,367 = (306 + 55,046 + 8 + 9) - 2
sqrt(3,357,854,809) = 57,947 = (3 + 3 + 57,854 + 80 + 9) - 2
sqrt(3,458,733,721) = 58,811 = (3 + 4 + 58,733 + 72 + 1) - 2
sqrt(3,553,590,544) = 59,612 = (3 + 553 + 59,054 + 4) - 2
sqrt(3,680,606,224) = 60,668 = (36 + 8 + 0 + 60,622 + 4) - 2
sqrt(3,686,068,369) = 60,713 = (3 + 6 + 8 + 60,683 + 6 + 9) - 2
sqrt(3,737,610,496) = 61,136 = (3 + 73 + 7 + 61,049 + 6) - 2
sqrt(4,167,864,481) = 64,559 = (4 + 1 + 67 + 8 + 64,481) - 2
sqrt(4,426,640,089) = 66,533 = (4 + 42 + 66,400 + 89) - 2
sqrt(4,444,222,225) = 66,665 = (44,442 + 22,225) - 2
sqrt(4,444,622,224) = 66,668 = (4,444 + 62,222 + 4) - 2
sqrt(4,446,622,489) = 66,683 = (444 + 66,224 + 8 + 9) - 2
sqrt(4,456,630,564) = 66,758 = (445 + 66,305 + 6 + 4) - 2
sqrt(4,510,062,649) = 67,157 = (4,510 + 0 + 62,649) - 2
sqrt(4,683,349,225) = 68,435 = (4 + 68,334 + 92 + 2 + 5) - 2
sqrt(4,683,759,844) = 68,438 = (4 + 68,375 + 9 + 8 + 44) - 2
sqrt(4,736,880,625) = 68,825 = (4 + 7 + 3 + 68,806 + 2 + 5) - 2
sqrt(4,806,926,224) = 69,332 = (48 + 0 + 69,262 + 24) - 2
sqrt(4,833,169,441) = 69,521 = (48 + 3 + 31 + 69,441) - 2
sqrt(4,890,065,041) = 69,929 = (4,890 + 0 + 65,041) - 2
sqrt(4,931,269,729) = 70,223 = (493 + 1 + 2 + 69,729) - 2
sqrt(4,973,070,400) = 70,520 = (49 + 73 + 0 + 70,400) - 2
sqrt(4,991,705,104) = 70,652 = (49 + 91 + 70,510 + 4) - 2
sqrt(5,048,670,916) = 71,054 = (50 + 4 + 86 + 70,916) - 2
sqrt(5,293,726,564) = 72,758 = (5 + 2 + 93 + 72,656 + 4) - 2
sqrt(5,367,320,644) = 73,262 = (5 + 3 + 6 + 73,206 + 44) - 2
sqrt(5,714,755,216) = 75,596 = (57 + 14 + 75,521 + 6) - 2
sqrt(5,734,275,625) = 75,725 = (57 + 3 + 42 + 75,625) - 2
sqrt(6,545,780,836) = 80,906 = (6 + 5 + 4 + 57 + 80,836) - 2
sqrt(6,610,015,204) = 81,302 = (66,100 + 15,204) - 2
sqrt(6,714,819,136) = 81,944 = (6 + 7 + 14 + 81,913 + 6) - 2
sqrt(6,779,381,569) = 82,337 = (677 + 93 + 81,569) - 2
sqrt(6,784,816,900) = 82,370 = (678 + 4 + 81,690 + 0) - 2
sqrt(6,791,243,281) = 82,409 = (6 + 79,124 + 3,281) - 2
sqrt(6,825,899,161) = 82,619 = (6 + 82,589 + 9 + 16 + 1) - 2
sqrt(6,983,443,489) = 83,567 = (69 + 83,443 + 48 + 9) - 2
sqrt(7,287,012,496) = 85,364 = (72,870 + 12,496) - 2
sqrt(7,328,558,449) = 85,607 = (7 + 3 + 2 + 85,584 + 4 + 9) - 2
sqrt(7,604,886,436) = 87,206 = (760 + 4 + 8 + 86,436) - 2
sqrt(7,898,587,876) = 88,874 = (7 + 8 + 985 + 87,876) - 2
sqrt(8,129,005,921) = 90,161 = (81 + 2 + 90,059 + 21) - 2
sqrt(8,248,998,976) = 90,824 = (824 + 89,989 + 7 + 6) - 2
sqrt(8,288,281,600) = 91,040 = (82,882 + 8,160 + 0) - 2
sqrt(8,539,238,464) = 92,408 = (8 + 5 + 3 + 92,384 + 6 + 4) - 2
sqrt(8,598,667,441) = 92,729 = (85,986 + 6,744 + 1) - 2
sqrt(8,710,862,224) = 93,332 = (87,108 + 6,222 + 4) - 2
sqrt(8,822,657,041) = 93,929 = (88,226 + 5,704 + 1) - 2
sqrt(8,894,941,969) = 94,313 = (8 + 8 + 94 + 94,196 + 9) - 2
sqrt(8,994,815,281) = 94,841 = (8 + 9 + 94,815 + 2 + 8 + 1) - 2
sqrt(9,070,086,169) = 95,237 = (9,070 + 0 + 86,169) - 2
sqrt(9,204,867,364) = 95,942 = (9,204 + 86,736 + 4) - 2
sqrt(9,285,635,044) = 96,362 = (92,856 + 3,504 + 4) - 2
sqrt(9,322,095,601) = 96,551 = (932 + 20 + 95,601) - 2
sqrt(9,401,629,444) = 96,962 = (94,016 + 2,944 + 4) - 2
sqrt(9,484,422,544) = 97,388 = (94,844 + 2 + 2,544) - 2
sqrt(9,794,862,961) = 98,969 = (97,948 + 62 + 961) - 2
sqrt(9,809,713,936) = 99,044 = (98,097 + 13 + 936) - 2
sqrt(9,812,685,481) = 99,059 = (98,126 + 854 + 81) - 2
sqrt(9,823,386,769) = 99,113 = (98,233 + 867 + 6 + 9) - 2
sqrt(9,845,997,529) = 99,227 = (98,459 + 9 + 752 + 9) - 2
sqrt(9,848,974,564) = 99,242 = (98,489 + 745 + 6 + 4) - 2
sqrt(9,863,866,489) = 99,317 = (98,638 + 664 + 8 + 9) - 2
sqrt(9,869,826,409) = 99,347 = (98,698 + 2 + 640 + 9) - 2
sqrt(9,900,250,000) = 99,500 = (99,002 + 500 + 0 + 0) - 2
sqrt(9,902,041,081) = 99,509 = (99,020 + 410 + 81) - 2
sqrt(9,913,985,761) = 99,569 = (991 + 3 + 98,576 + 1) - 2
sqrt(9,931,318,336) = 99,656 = (99,313 + 1 + 8 + 336) - 2
sqrt(9,955,250,176) = 99,776 = (99,552 + 50 + 176) - 2
sqrt(9,966,627,889) = 99,833 = (99,666 + 2 + 78 + 89) - 2
sqrt(9,967,226,896) = 99,836 = (99,672 + 2 + 68 + 96) - 2
sqrt(9,973,217,956) = 99,866 = (99,732 + 1 + 79 + 56) - 2
sqrt(9,973,817,161) = 99,869 = (99,738 + 1 + 71 + 61) - 2
sqrt(9,978,012,100) = 99,890 = (99,780 + 12 + 100) - 2
sqrt(9,979,810,201) = 99,899 = (99,798 + 102 + 0 + 1) - 2
sqrt(9,980,409,604) = 99,902 = (99,804 + 0 + 96 + 0 + 4) - 2
sqrt(9,981,009,025) = 99,905 = (99,810 + 0 + 90 + 2 + 5) - 2
sqrt(9,981,608,464) = 99,908 = (99,816 + 0 + 84 + 6 + 4) - 2
sqrt(9,982,807,396) = 99,914 = (99,828 + 0 + 73 + 9 + 6) - 2
sqrt(9,983,406,889) = 99,917 = (99,834 + 0 + 68 + 8 + 9) - 2
sqrt(9,986,404,624) = 99,932 = (99,864 + 0 + 4 + 62 + 4) - 2
sqrt(9,987,004,225) = 99,935 = (99,870 + 0 + 42 + 25) - 2
sqrt(9,990,002,500) = 99,950 = (99,900 + 0 + 2 + 50 + 0) - 2
sqrt(9,991,201,936) = 99,956 = (99,912 + 0 + 1 + 9 + 36) - 2
sqrt(9,993,001,225) = 99,965 = (99,930 + 0 + 12 + 25) - 2
sqrt(9,993,601,024) = 99,968 = (99,936 + 0 + 10 + 24) - 2
sqrt(9,996,600,289) = 99,983 = (99,966 + 0 + 0 + 2 + 8 + 9) - 2
sqrt(9,997,200,196) = 99,986 = (99,972 + 0 + 0 + 1 + 9 + 6) - 2
sqrt(9,997,800,121) = 99,989 = (99,978 + 0 + 0 + 12 + 1) - 2
sqrt(9,998,400,064) = 99,992 = (99,984 + 0 + 0 + 0 + 6 + 4) - 2
sqrt(9,999,000,025) = 99,995 = (99,990 + 0 + 0 + 0 + 2 + 5) - 2
sqrt(9,999,600,004) = 99,998 = (99,996 + 0 + 0 + 0 + 0 + 4) - 2
Number of matches found: 299
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment