To use edit the array in main.py and run sorry, this was supposed to be a algourithim project only, so does not have any interface. this code has not been changed since I first made it in sept 2019.
it took me approximately 15 minutues to write this code, but a week to figure out few bugs like deep vs shallow copy. another thing that perplexed me was the position of the return statement, where I initially placed it in the innermost for loop so that meant it would only try one possible before exiting.