Board State generator for the game "Congo" written in C#
See it in action:
https://alligatorventures.itch.io/congo
Usage
CongoBoard.initial().generateMoves()
returns all valid first moves for a Congo game and I bet you can figure it out from there