language ESSENCE 1.2.0 $ prob041.essence: N-Fractions Puzzle $ Problem details available at http://www.csplib.org/Problems/prob041/ $ 07 September 2007 $ given n : int(1..) letting Index be domain int(1..3*n), Digit be domain int(1..9) find assign : function (total, surjective) Index --> Digit such that (sum i : int(0..n-1) . assign(3*i+1) / (assign(3*i+2)*10 + assign(3*i+3))) = 1, forAll d : Digit . (sum i : Index . toInt(assign(i) = d)) <= (n+1)/3