n = 254 c = 3 b = 256 a = 253 def calc(qo, qh, qg): x = ((2 ** qg + 3) ** 2 + 1) / 2 ** (n - 1 - c) - (2 * (2 ** qo + 1)) / 2 ** b - (2 ** qo * 2 ** qh + 2 ** qo) / 2 ** a return x best = (512, 512, 512) for qo in range(1, 128): print(qo) for qh in range(1, 128): for qg in range(1, 128): x = calc(qo, qh, qg) if x >= 1 and qo + qh + qg < sum(best): best = (qo, qh, qg) print(best)