944 B
944 B
Project 1: Maths Puzzles
Math Puzzle
- each digit must be 1-9
- each row contains no repeated digit
- each column contains no repeated digit
- all squares on the diagonal line from top left corner to bottom right corner must contain the same value
- the heading of each row holds either:
- the sum of all the digits in that row
- the product of all the digits in that row
- the heading of each column holds either:
- the sum of all the digits in that column
- the product of all the digits in that column
Input
A math puzzle with most/all squares empty except for the headings
Solution
Structure
A predicate puzzle_solution/1 which holds when the argument is a solved math puzzle
Approach
Utilise constraint logic programming
- unify all squares on the diagonal
- check rows are valid
- all distinct
- sum to heading
- product to head
- check columns are valid via
transpose/2