Starting to tackle the edge cases - now using combinations to build the DLX data
Edge cases now working - but a bit slow