hint : 3-3 and 3-4 don't require you to create general solutions that work for any values, although it is possible.
One solution to 3-4 is (rot13) gb guvax bhgfvqr gur obk naq uneqpbqr bar bs gur inyhrf (va guvf pnfr 4) naq erhfr ert1 nf n pbhagre.
Self-modifying code was one of the original ideas, but I didn't end up implementing it.
There is another memory region that is introduced in Chapter 4 which allows for general solutions for both multiplication and division, although anything before that is possible without using it.