from math import log10, sqrt log_phi = log10((1 + sqrt(5)) / 2) MOD = 10**6 frac = (log_phi - log10(5) / 2) % 1 a, b, i, c = 1, 1, 1, 0 while c < 15: d = sorted(str(int(10 ** frac * 100))) f = sorted(str(a % 1000)) if ''.join(d) == "123" and d == f: print(i) c += 1 frac = (frac + log_phi) % 1 a, b = b, (a + b) % MOD i += 1