{-
  we could try every permutation, which is straightforward to do,
  but the search space is huge.

  so instead, we can do a search begin with a smaller branching factor -
  pick d10, d9, d8 first with 3 distinct numbers, verify they
  are divisible by 17, then choose d7, check with 13, then choose d6,
  check with 11, etc.

  this approach trims the branch very early: as soon as the current
  divisible property cannot be satisfied, there is no need of going any further,
  therefore search space is reduced to a small set of values very quickly.
 -}

problem :: Problem
problem = pureProblem 43 Solved result
problem :: Problem
problem = pureProblem 43 Solved result
problem = pureProblem 43 Solved result