(phixonline)--> with javascript_semantics include mpfr.e mpz primorial = mpz_init(1), pj = mpz_init() sequence fortunates = {} for p=1 to 75 do mpz_mul_si(primorial,primorial,get_prime(p)) integer j = 3 mpz_add_si(pj,primorial,3) while not mpz_prime(pj) do mpz_add_si(pj,pj,2) j = j + 2 end while fortunates &= j end for fortunates = unique(deep_copy(fortunates))[1..50] fortunates = join_by(apply(true,sprintf,{{"%3d"},fortunates}),1,10) printf(1,"The first 50 distinct fortunate numbers are:\n%s\n",{fortunates})