/* https://medium.com/@themahfujur/17-can-you-solve-this-puzzle-many-people-fail-to-answer-this-viral-problem-78dfa1d017c6 """ 9 = 72 8 = 56 7 = 42 6 = 30 5 = 20 3 = ? """ The "most probable" formula would be n * (n-1) = x 9 * 8 = 72 8 * 7 = 56 7 * 6 = 42 ... So 3 should be 3*2 = 6. Solutions: [program = (A - A / A) * A,res = 6.0,count = 16] [program = A * (A - 1),res = 6,count = 12] [program = A + (A - A * (2 * 2 - A)) + A,res = 6,count = 8] [program = (A - 1) * A,res = 6,count = 8] [program = A * A - A,res = 6,count = 7] [program = A + (A + (A - A * (2 * 2 - A))),res = 6,count = 6] [program = A * (A - A / A),res = 6.0,count = 5] [program = A * A - A + 0 * 0,res = 6,count = 3] [program = 0 * (A / 8) + (A * A - A),res = 6.0,count = 3] [program = A * A - 1 * A,res = 6,count = 1] resultMap = [6 = 7,6.0 = 3] It _could_ also be interpreted as x* (x - the number above - 2): 3 * (5-2) = 3*3 = 9 See equation3b for this and other solutions. Cf http://hakank.org/jgap/equation3.conf */ data(equation3,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[9],72], [[8],56], [[7],42], [[6],30], [[5],20] ], Ops = [+,-,*,/], Constants = 0..10, Vars = ['A'], Unknown = [3], Params = new_map([num_gens=20]), MaxSize = 21.