Circuit for math game grid?
The actual circuit is just a microcontroller reading a bunch of switches and controlling a bunch of lights.

You could get a microcontroller with lots of pins, or use I/O expanders, and wire each light and switch to its own pin.  Or, you can do something called multiplexing.  The switches and lights would be arranged in a grid.  The microcontroller scans the array as needed.  This is how any similar professionally designed product would likely work.  However, especially if you are new to micros, giving each switch and light its own dedicated pin (possibly thru I/O expanders) will be easier.  For a one-off, that would be fine.

There is another approach that is more complicated electrically, but conceptually simpler.  Use a tiny microcontroller for each square.  The micro has connections to its 4 neighbors.  When a micro detects its button pressed, it complements its light and sends a blip to its neighbors.  When the micro sees a blip from a neighbor, it complements its light.

This makes the firmware in each micro very simple, and only requires 6 I/O connections.  These are 1 for the light, 1 for the button, and 4 lines to each of its neighbors.  The neighbor lines would be passively pulled up, and a micro pulls down on them for some minimum time (a few &micro;s) to indicate a toggle.

Don't forget to debounce the switch input.

Once you have this basic building block, you replicate it to make whatever size array you want.  This system is scalable to large arrays.

The rest is firmware.