When teaching Chess to kids I used that problem and the kids had to solve it in their heads then tell me how they did it. The key is that the farmer can come back empty to the original side ... take fox over, go back get grain, take fox back and pick up goose, take goose over and pick up grain and bring back, then pick up fox and take over and bring back grain, then return empty and bring goose over to where grain and fox are waiting ... except the goose would wander off when the grain is gone anyway.