Top rule: S(a)=1/2*a^2
Sliding portion: S(a-b) on top, S(b) on bottom
Bottom rule: a*b, linear scale
To use, match the mark on S(a-b) with the mark on S(a). Then on the bottom rule read the mark corresponding to S(b). This performs multiplication since S(a)-S(a-b)+S(b) = 1/2*a^2 + 1/2*(a-b)^2 + 1/2*b^2 = ab. (Think of the operation as "move right by S(a), then left by S(a-b), the right by S(a) again", explaining the signs on the preceding formula.)
For a lego implementation, it seems best if the bottom rule is marked in units. Then the S scales require half-units but otherwise do not round. Using this approach is feasible to mark these rules only up to about S(12) or S(14) = 72-100 squares. But this is sufficient to accurately represent the multiplication tables with perfect accuracy.