MathCAD

This problem of a label – or more correctly, problem of disposing with a label -– we'll look at in solving an ancient English puzzle about fishermen and fish:

"Three fishermen lay down to sleep, not having counted or divided their catch. In the night, one of them woke up, and (not quite trusting the others) decided to divide the pile of fish and take his share. But the number of fish wasn't visible by three. However, he found he could throw one fish away, then take exactly a third. This he did (noting, in the true spirit of fairness, that an even number of fish was left for his comrades) and went back to sleep. Later, the second and third fishermen woke in turn, and each went through the same process. The question is, what is the minimum number of fish in the catch that fulfils these conditions?"

The reader might like first to try to solve this task by hand; but we'll involve the computer in this for two reasons. Firstly, it lets us consider some ways to structuralize programs in the Mathcad environment: methods of clearing programs of labels, and 'squeezing' them into the rigorous framework of structural design. Secondly, we'll show that the Fishermen's Problem has, until now, been solved incorrectly...