The total cost is 30. I got this by first finding all the sets of three numbers that have a product of 840. Then I sorted them by max-min, which I call the spread. Then I added a column for the sum. When the witch says she cant tell what the individual prices are based on the product and the spread, then the spread must be 8, 17, 19, or 26, because only those spreads have more than one price set. When she says that she knows the sum, the spread must be 8, because that is the only spread with more than one price set where the sums are also equal.
- price set = [7, 10, 12], spread = 5, sum = 29
-
price set = [6, 10, 14], spread = 8, sum = 30
-
price set = [7, 8, 15], spread = 8, sum = 30
-
price set = [5, 12, 14], spread = 9, sum = 31
-
price set = [4, 14, 15], spread = 11, sum = 33
-
price set = [6, 7, 20], spread = 14, sum = 33
-
price set = [5, 8, 21], spread = 16, sum = 34
-
price set = [3, 14, 20], spread = 17, sum = 37
-
price set = [4, 10, 21], spread = 17, sum = 35
-
price set = [2, 20, 21], spread = 19, sum = 43
-
price set = [5, 7, 24], spread = 19, sum = 36
-
price set = [5, 6, 28], spread = 23, sum = 39
-
price set = [3, 10, 28], spread = 25, sum = 41
-
price set = [2, 15, 28], spread = 26, sum = 45
-
price set = [4, 7, 30], spread = 26, sum = 41
-
price set = [2, 14, 30], spread = 28, sum = 46
-
price set = [1, 28, 30], spread = 29, sum = 59
-
price set = [4, 6, 35], spread = 31, sum = 45
-
price set = [3, 8, 35], spread = 32, sum = 46
-
price set = [2, 12, 35], spread = 33, sum = 49
-
price set = [1, 24, 35], spread = 34, sum = 60
-
price set = [3, 7, 40], spread = 37, sum = 50
-
price set = [4, 5, 42], spread = 38, sum = 51
-
price set = [1, 21, 40], spread = 39, sum = 62
-
price set = [2, 10, 42], spread = 40, sum = 54
-
price set = [1, 20, 42], spread = 41, sum = 63
-
price set = [3, 5, 56], spread = 53, sum = 64
-
price set = [1, 15, 56], spread = 55, sum = 72
-
price set = [2, 7, 60], spread = 58, sum = 69
-
price set = [1, 14, 60], spread = 59, sum = 75
-
price set = [3, 4, 70], spread = 67, sum = 77
-
price set = [2, 6, 70], spread = 68, sum = 78
-
price set = [1, 12, 70], spread = 69, sum = 83
-
price set = [2, 5, 84], spread = 82, sum = 91
-
price set = [1, 10, 84], spread = 83, sum = 95
-
price set = [2, 4, 105], spread = 103, sum = 111
-
price set = [1, 8, 105], spread = 104, sum = 114
-
price set = [1, 7, 120], spread = 119, sum = 128
-
price set = [2, 3, 140], spread = 138, sum = 145
-
price set = [1, 6, 140], spread = 139, sum = 147
-
price set = [1, 5, 168], spread = 167, sum = 174
-
price set = [2, 2, 210], spread = 208, sum = 214
-
price set = [1, 4, 210], spread = 209, sum = 215
-
price set = [1, 3, 280], spread = 279, sum = 284
-
price set = [1, 2, 420], spread = 419, sum = 423
-
price set = [1, 1, 840], spread = 839, sum = 842