todo: * make dimensionality n^2 x n^2 * enforce solution range is in 1..n^2 * enforce closure of rows, columns and groups * make input to circuit an encryption of the solution * make input of the circuit a commitment of the decryption key