Anyway, I thought this puzzle had a nice algebraic solution, but the puzzle itself seems overspecified.
Is it really necessary to know the number of fish, or just that the number of fish making it to the river is fixed?
The key is to have the same number of fish go both through the marsh and the swamp. The number going through the marsh is (A/2+B)/2, and the number going through the swamp is A/2+C/2, so
A+2B = 2A+2C
2B = A + 2C
So, A must be even and we can guess that B is our biggest number. A=4, B=8, C=6 gives us 16=4+12, so D must be the remaining option.
The walkthroughs and the in-game explanation use a more logic-puzzle approach (starting with D=3), which also doesn't depend on the sum being 16. I think the game could either omit that number, or require you to specify one of the quantities of fish?