def solve(data): SOLUTION = ' ' * 81 solver = BacktrackingSolver() # data = "XX3X2X6XX9XX3X5XX1XX18X64XXXX81X29XX7XXXXXXX8XX67X82XXXX26X95XX8XX2X3XX9XX5X1X3XX" layer = Layer(data, SOLUTION) sol = solver.solve(layer) d = list(data) for s in sol: d[s[0]] = s[1] return int("".join(d[:3]))