Vamos con el número 32. La resolución con Python es muy fácil convirtiendo enteros en "strings":
#!/usr/bin/env python numbers = [] for a in range(9999): for b in range(9999): p = a*b asString = str(a) + str(b) + str(p) if len(asString) > 9: break if len(asString) == 9 and \ '1' in asString and \ '2' in asString and \ '3' in asString and \ '4' in asString and \ '5' in asString and \ '6' in asString and \ '7' in asString and \ '8' in asString and \ '9' in asString: if not p in numbers: numbers.append(p) print a, "*", b, " = ", p, " => ", asString print sum(numbers)