A. Check this Wikipedia Page!
Q. Where can I see the source code?A. For C++, check this! For this webpage, check this!
Q. Why does it sometimes fail or take too long time to find a solution?A. When a blank board was printed, it meant there was no solution.
It could be because the board size is too small to find the solution. Try a wider board.
Also, please remember it could take lots of time to solve a too-wide board.