Здесь немного математики: пусть x будет натуральным числом с n цифрами. Тогда 8x = 8 * 10 ^ n + x и x8 = 10 * x + 8. Таким образом, уравнение, которое необходимо решить, равно 8 * 10 ^ n + x = 8 * (10 * x + 8) = 80 * x + 64 где x и n должны быть натуральными числами. Из этого сразу следует, что x = (8 * 10 ^ n - 64) / 79. Теперь нам осталось только проверить, какое из чисел вида 8 * 10 ^ n - 64 делится на 79, что очень быстро:
>>> n = 0
>>> while True:
... y = 8 * 10**n - 64
... if y % 79 == 0:
... x = y / 79
... break
... n += 1
...
>>> print x
101265822784
>>> print int("8"+str(x))==8*int(str(x)+"8")
True