dydactaccelerating futures

KenKen

op: puzzles.kenken.solve

N×N Latin square + cages with operators (+, -, ×, ÷, =). Projection: per-cage digit-tuple enumeration ∩ Latin-square row/col propagation.

puzzle JSON ({n: int, cages: [{cells, op: '+'|'-'|'*'|'/'|'=', target}, ...]})
example