/* From Muhammad Zain Sarwar: "People With an IQ of 120+ Can Solve This Missing Number Puzzle!" https://medium.com/puzzle-sphere/people-with-an-iq-of-120-can-solve-this-missing-number-puzzle-c3a3997e1304 """ Find the missing number? 5 9 13 2 3 8 4 5 14 6 ? 20 11 19 27 A B E C D """ Some different solutions: * A + E = C: E = 7 5 + 3 = 8 9+5 = 14 => 13 + _7_ = 20 * A - B = E: E = 7 5 - 2 = 3 9-4 = 5 13 - 6 = 7 * D - E = C: E = 7 11 - 3 = 8 19 - 5 = 14 27 - 7 = 20 And the differences between the As, Bs, Cs, Ds are also very consistent: As: differences are 4 Bs: differences are 2 Cs: differences are 6 Ds: differences are 8 Es: assuming same differences: 5-3 = 2 => _7_ - 5 = 2. E is 7 again. There are too many different approaches, so I'm suspicious... Are there some other approach? There are a huge number of solutions. Here are some with the initial max_size = 1: AllGood: [program = C - A,res = 7,count = 5840] [program = A - B,res = 7,count = 5821] [program = D - C,res = 7,count = 5803] [program = A - B + (C - C),res = 7,count = 449] [program = C - A + (C - C),res = 7,count = 307] [program = A - B + (D - D),res = 7,count = 167] [program = C - C + (A - B),res = 7,count = 20] [program = D - D + (A - B),res = 7,count = 7] [program = C - C + (C - A),res = 7,count = 6] [program = C - A - (C - C),res = 7,count = 5] [program = A - B - (C - C),res = 7,count = 4] [program = A - B - (D - D),res = 7,count = 2] [program = C - A + (D - D),res = 7,count = 2] [program = D - D - (C - D),res = 7,count = 1] [program = A - C - (A - D),res = 7,count = 1] [program = D + A - (B + D),res = 7,count = 1] resultMap = [7 = 16] With a larger value of MaxSize (e.g. 11) there are many more solutions. */ data(missing_number6,Data,Vars,Unknown,Ops,Constants,MaxSize,Params) :- Data = [ [[5,2,8,11],3], [[9,4,14,19],5] % [[13,6,20,27],0] % Force another solution ], Ops = [+,-,*,pow2], Unknown = [13,6,20,27], Vars = "ABCD", Constants = [], % No constants MaxSize = 1, Params = new_map([ init_size=1000, num_gens=1000, show_only_good=false ]).