import re
from random import shuffle
def main(eq):
terms = re.split(' \+ | = ', eq)
digits = list(range(1, 10))
for term in terms:
for num in term:
if num.isdigit():
digits.remove(int(num))
solved = False
x = 0
while not solved:
temp_eq = str(eq)
temp_list = list(digits)
shuffle(temp_list)
while "x" in temp_eq:
n = str(temp_list.pop())
temp_eq = temp_eq.replace("x", n, 1)
temp_terms = re.split(' \+ | = ', temp_eq)
if(int(temp_terms[0]) + int(temp_terms[1]) == int(temp_terms[2])):
print(eq)
print("Solved in " + str(x) + " tries")
print(temp_eq +"\n\n")
solved = True
x += 1
main("xxx + x81 = 9x4")
main("xxx + 5x1 = 86x")
main("xxx + 39x = x75")
aW1wb3J0IHJlCmZyb20gcmFuZG9tIGltcG9ydCBzaHVmZmxlCgpkZWYgbWFpbihlcSk6CiAgICB0ZXJtcyA9IHJlLnNwbGl0KCcgXCsgfCA9ICcsIGVxKQogICAgZGlnaXRzID0gbGlzdChyYW5nZSgxLCAxMCkpCiAgICBmb3IgdGVybSBpbiB0ZXJtczoKICAgICAgICBmb3IgbnVtIGluIHRlcm06CiAgICAgICAgICAgIGlmIG51bS5pc2RpZ2l0KCk6CiAgICAgICAgICAgICAgICBkaWdpdHMucmVtb3ZlKGludChudW0pKQogICAgc29sdmVkID0gRmFsc2UKICAgIHggPSAwCiAgICB3aGlsZSBub3Qgc29sdmVkOgogICAgICAgIHRlbXBfZXEgPSBzdHIoZXEpCiAgICAgICAgdGVtcF9saXN0ID0gbGlzdChkaWdpdHMpCiAgICAgICAgc2h1ZmZsZSh0ZW1wX2xpc3QpCiAgICAgICAgd2hpbGUgIngiIGluIHRlbXBfZXE6CiAgICAgICAgICAgIG4gPSBzdHIodGVtcF9saXN0LnBvcCgpKQogICAgICAgICAgICB0ZW1wX2VxID0gdGVtcF9lcS5yZXBsYWNlKCJ4IiwgbiwgMSkKICAgICAgICB0ZW1wX3Rlcm1zID0gcmUuc3BsaXQoJyBcKyB8ID0gJywgdGVtcF9lcSkgCiAgICAgICAgaWYoaW50KHRlbXBfdGVybXNbMF0pICsgaW50KHRlbXBfdGVybXNbMV0pID09IGludCh0ZW1wX3Rlcm1zWzJdKSk6CiAgICAgICAgICAgIHByaW50KGVxKQogICAgICAgICAgICBwcmludCgiU29sdmVkIGluICIgKyBzdHIoeCkgKyAiIHRyaWVzIikKICAgICAgICAgICAgcHJpbnQodGVtcF9lcSArIlxuXG4iKQogICAgICAgICAgICBzb2x2ZWQgPSBUcnVlCiAgICAgICAgeCArPSAxCgptYWluKCJ4eHggKyB4ODEgPSA5eDQiKSAgCm1haW4oInh4eCArIDV4MSA9IDg2eCIpCm1haW4oInh4eCArIDM5eCA9IHg3NSIp