F primes_upto(limit) V is_prime = [0B] * 2 [+] [1B] * (limit - 1) L(n) 0 .< Int(limit ^ 0.5 + 1.5) I is_prime[n] L(i) (n * n .< limit + 1).step(n) is_prime[i] = 0B R enumerate(is_prime).filter((i, prime) -> prime).map((i, prime) -> i) F successive_primes(primes, diffs) [[Int]] results V dl = diffs.len L(i) 0 .< primes.len - dl V group = [0] * (dl + 1) group[0] = primes[i] L(j) i .+ dl I primes[j + 1] - primes[j] != diffs[j - i] L.break group[j - i + 1] = primes[j + 1] L.was_no_break results [+]= group R results V prime_list = primes_upto(1'000'000) print(‘For primes less than 1,000,000:-’) L(diffs) [[2], [1], [2, 2], [2, 4], [4, 2], [6, 4, 2]] print(‘ For differences of #. ->’.format(diffs)) V sp = successive_primes(prime_list, diffs) print(‘ First group = ’sp[0]) print(‘ Last group = ’sp.last) print(‘ Number found = ’sp.len) print()