An implementation of Dancing Links (DLX) in C#