C program utilizing a backtracking recursive algorithm, dynamic memory allocation, different data structures, and complex pointer usage. Enjoy :)