Kakuro puzzle generator and solver