Creating puzzles requires a deep understanding of the game's mechanics, so you can mix and match mechanics in a way that allows you to challenge the player. You can approach designing a puzzle problem-first, for instance: "The player has to understand how to find a common denominator to get past this puzzle." You can also approach it from an existing idea, such as: "How can I challenge the player mathematically by combining swarm enemies and floating number hoops?" In either case, you will be manipulating these game mechanical tools:
Simple number objects: Number spheres and cubes are the basic building block of all our puzzles. You can pick up these numbers, throw them at eachother to add (+), and load them as ammunition. When two number objects add to zero, they disappear. If they add to a different number, one consumes the other.
Items, weapons, and tools: All of these can be earned by the player and they manipulate numbers. The multiply wave is loaded up with a number as ammunition, and when activated it will multiply everything the wave touches by that ammunition value. The halving sword divides any number it touches into two equal parts. And so on!
Number walls: These are simple number objects but arranged in a way where they block the player's path until destroyed.
Number monsters: Also numbers, but they can hurt you. Some of them rush at you with spikes, others will zap you with a laserbeam.
Hoops: Walking through a hoop multiplies or divides the number(s) you're carrying. A hoop may be a times 3/divided by 3 hoop. This means if you walk through it one way, it multiplies by 3, and if you walk through it the other way it divides. It also affects all your ammunition in the same way.
Gem zones: Inside the zone, there is a rule or a pattern for gemification. For instance, all prime numbers in a zone will be turned into gems. Or, in another zone, all powers of two become gems.
The possibilities with just this small set are enormous, but we have a few more on the way.
Here's an example of one puzzle framework, created by mixing and matching mechanics. The actual number values of the pieces could be made more interesting, and the values of the hoops is left undefined.