// Attempt to solve a graphical puzzle, // https://mathybeagle.com/2014/09/18/nrich-for-what-its-worth/ use systemSolver2.frink symbolicMode[true] simult = new System[[tri + sqr + sqr + tri === 28, hex + sqr + hex + sqr === 30, cir + tri + cir + cir === 18, cir + sqr + cir + cir === 20, sqr + sqr + tri + sqr === 30, sqr + hex + cir + cir === 23, tri + sqr + cir + cir === 22, solution === tri + hex + cir + cir]] simult.draw[] println[join["\n",simult.solveAll[]]] // I was trying this complicated solution until I realized the simpler // solution === ... line above /* tri = simult.solveForValues["tri",[]]@0 hex = simult.solveForValues["hex",[]]@0 cir = simult.solveForValues["cir",[]]@0 println["Solution: " + (tri + hex + cir + cir)] println[] */