This string has no description
Something went wrong. Try again.
sudoku.bcdc
· Created 1mo ago ·1.3 kB · 43 lines
1234567891011121314151617181920212223242526272829303132333435363738394041424344#lang bcdc(define n 9)(define p (ι 'p)); each position has exactly one of the numbers 1–9(define positions (for*/list ([y (in-range n)] [x (in-range n)]) (∃! (for/list ([i (in-range n)]) (p y x i))))); in each row, every number in 1–9 occurs exactly once(define rows (for*/list ([y (in-range n)] [i (in-range n)]) (∃! (for/list ([x (in-range n)]) (p y x i))))); in each column, every number in 1–9 occurs exactly once(define columns (for*/list ([x (in-range n)] [i (in-range n)]) (∃! (for/list ([y (in-range n)]) (p y x i))))); in each 3×3 block, every number in 1-9 occurs exactly once.(define blocks (for*/list ([y1 (in-range 3)] [x1 (in-range 3)] [i (in-range n)]) (∃! (for*/list ([y2 (in-range 3)] [x2 (in-range 3)]) (p (+ (* y1 3) y2) (+ (* x1 3) x2) i)))))(define model (all (append positions rows columns blocks)))(write-dimacs "sudoku.cnf" model)