Is there a better way to plan a circuit to square a 3 bits binary number?
Of course there is.

First we write out the truth table:

 Y    S
000 000000
001 000001
010 000100
011 001001
100 010000
101 011001
110 100100
111 110001


We notice right away that S0 = Y0, S1 = 0, and S5 = Y1 * Y2. Let's remove those.

 Y   S
210 432
000 000
001 000
010 001
011 010
100 100
101 110
110 001
111 100


And now we see that S2 = Y1 * !Y0, S3 = Y0 * (Y1 ^ Y2), and S4 = Y2 * (!Y1 + Y0) = Y2 * !S2. Since you now have all 6 equations for the bits in S, building a logic circuit for it is easy, and left as an exercise for the reader.