There is nothing wrong in using generating functions. A very handy and powerful tool. I wish I was better at it than I am.

It is a common experience in mathematical problem solving that the first solution leads to more insight which illuminates a shorter slap-my-forehead solution -- bruised forehead.