array [1..16] of var int: x :: output_array([1..4, 1..4]); constraint int_le(0, x[1]); constraint int_le(0, x[2]); constraint int_le(0, x[3]); constraint int_le(0, x[4]); constraint int_le(0, x[5]); constraint int_le(0, x[6]); constraint int_le(0, x[7]); constraint int_le(0, x[8]); constraint int_le(0, x[9]); constraint int_le(0, x[10]); constraint int_le(0, x[11]); constraint int_le(0, x[12]); constraint int_le(0, x[13]); constraint int_le(0, x[14]); constraint int_le(0, x[15]); constraint int_le(0, x[16]); constraint int_lin_eq([1, 1, 1, 1], [x[1], x[2], x[3], x[4]], 5); constraint int_lin_eq([1, 1, 1, 1], [x[1], x[5], x[9], x[13]], 5); constraint int_lin_eq([1, 1, 1, 1], [x[4], x[8], x[12], x[16]], 5); constraint int_lin_eq([1, 1, 1, 1], [x[6], x[7], x[10], x[11]], 0); constraint int_lin_eq([1, 1, 1, 1], [x[13], x[14], x[15], x[16]], 5); constraint int_lin_eq([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16]], 12); solve satisfy;