import itertools from pprint import pprint from primes import is_prime if __name__ == '__main__': results = [] for i in range(1000, 10000): combos = set(''.join(x) for x in itertools.permutations(str(i))) combos = [int(x) for x in combos if int(x) > 1000] if len(combos) < 3: continue primes = [int(x) for x in combos if is_prime(int(x))] if len(primes) < 3: continue elif len(primes) > 3: poss = itertools.combinations(primes, 3) poss = set(poss) for p in poss: concat = sorted(p) if concat not in results: results.append(concat) else: results.append(sorted(primes)) results = [list(x) for x in set(tuple(x) for x in results)] results = sorted(results, key=lambda x: (x[0], x[1])) for result in results: if result[1] - result[0] == result[2] - result[1]: print(result, str(result[0]) + str(result[1]) + str(result[2]))