The gearball is a 3x3x3 variant with a geared mechanism that ensures that opposite faces must be moved in tandem. The physical mechanism itself is interesting, but as a puzzle is it significantly simpler than a standard 3x3x3 cube. The movement of opposite faces on a standard cube has sometimes been called a slice or anti-slice depending on their respective directions. For example, RL' is considered a slice because both top corners are moving away from you (or the middle layer is rotated towards you). The moves RL, UD, and FB are all antislices, and these are the moves that are possible with a Gearball.
There are actually two ways to talk about gearball moves. Some people hold the left face and turn the right face 180 degrees clockwise (thus turning the middle layer 90 degrees clockwise), and call this move R. I prefer for the centers to always remain in a constant orientation, so for me the move R is turning the right face 90 degrees clockwise while also turning the L face 90 degrees clockwise. The relative state of the Gearball is the same either way, though in the former case what used to be the top is now pointed away from you and in my case the top is still on top. I only point out the difference because if you run into an algorithm written in one notation but apply it with the other convention it is likely to fail spectacularly.
Like any cube, there are 8 corners. Let's call UFR, DFL, UBL, DBR, even corners, and the other four will be odd corners. Note that every edge has an even corner at one end and an odd corner at the other. Rotating a face in a normal cube cycles the four corners, and in this case it will move the even ones into odd positions, and the odd ones into even positions. In the Gearball, however, opposite faces are rotated in tandem, and thus every corner is affected by every move. Thus all even corners become odd, and all odds become even. Simply by observing a single corner you can determine whether the entire state is "even" or "odd". If it is odd, any move will bring you to an even state. From that point an even number of moves will be required to solve the puzzle. Thus it is sufficient to only analyze the even states.
Even states are those that are reachable with an even number of moves. From the above argument, it is clear that in even states every even corner is in an even location and every odd corner is in an odd location. Instead of worrying about permutations of 8 elements, we only have to consider two sets of permutations of 4 elements each. In theory this would still be a fairly large number of states: given four corners you could have 4x3x2x1 permutations times 3x3x3x3 rotations of each corner independently. However we shall see that the number of states is considerably smaller.
Starting with the six fundamental moves: R, R', U, U', F, F', there are 36 possible pairs of moves. Six of these pairs do nothing (R R', etc), but that still leaves 30 possible pairs. Restricting our view to only the even corners, and labeling those corners 1, 2, 3, 4 we find that the 36 moves only lead to the following permutations:
In short, you can swap 1 with any other corner, but then the remaining two are also swapped. It turns out that this is the entire set of possible permutations, regardless of the length of an even sequence of moves. There are only four possible arrangements of the even corners. Similarly, the odd corners also have four possible arrangements, and these are independent of the even ones, thus there are 4 x 4 = 16 possible permutations of the corners. Rotations are also heavily constrained. Within each even/odd group, all of the corners will have the same rotations. Furthermore, the rotation of the even corners is always the opposite of that of the odd corners. Thus the total number of corner states is 16 x 3 = 48. The is a far cry from a 3x3x3 cube which I believe has something like 44 million corner states (assuming edge parity is met). In fact, this number of states is so small that it isn't even worth coming up with clever algorithms. All you really have to do is get two corners that share the same edge correctly aligned with each other (ignoring the actual edge that sits between them). For example, my gearball has red and green on adjacent faces, so I just have to find the two corners that have both red and green and position them next to one another such that they share the same face for red and the same face for green. The centers and sides don't matter yet. Now move this red/green clump (two corners and some random edge piece) around until the red faces of the corners are on the face with a red center. It turns out that at this point you have locked down enough of both the even and odd corner groups that the other two red corners can be easily rotated to the face with the red center. Furthermore, once you have done this ALL of the corners will be in the correct position and rotation. Each face will have a nice X pattern where the corners and center all match.
The edges are sometimes hard to see. There are two little U shaped parts that touch the centers, plus a two-color circular gear with a ridge down the middle. At this point we don't care about the orientation of the edge or the gear - just that they are in the right location. So it is fine if the red/green edge is placed such that the red U is touching the green center, the green U is touching the red center, and the red/green gear is at a crazy angle. All that matters is that the red-green U/gear/U is positioned between the red and green centers.
Once the corners are solved, there actually aren't that many possible permutations for the edges. Like the corners they can be divided into separate groups that do not mix. In this case there are three groups: one for each plane that slices the puzzle. For example: (UF, UB, DF, DB) form the group parallel to R. There are similarly groups of 4 edges parallel to U and F. Within each group there are only four possible permutations (just like with corners, it is possible to exchange a given edge with any other in the group, but then the other two edges are also swapped). Furthermore, the permutation of any two groups completely determines the permutation of the third, thus there are only a total of 16 possible edge permutations.
edge-swapper: R2 U F2 U
This swaps the following:
R Group: (UF UB) (DF DB) swapping front/back
U Group: (RF LB) (LF RB) criss cross
F Group: no change
I believe that at worst you are 3 applications of the above operator away from fixing the edge locations. Start by looking for a group of four that is solved. If there is not one, then pick any ring of 4 edge. If adjacent edges need to be swapped, orient the ring parallel to R with the edges that need swapping at the top. If edges need to be swapped diagonally, orient the ring parallel to U. Then execute the edge-swapper. One ring will now be solved. Orient that ring parallel to F for the remainder of this stage. You now have two choices: apply the edge-swapper in the current orientation, or rotate the entire puzzle clockwise by 90 degrees and apply the edge-swapper. One choice or the other may completely solve the puzzle. If not, then you actually need to do both.
At the point the corners are perfect and the edges are in the correct position, but the edges still may need to be flipped. Ignore the gear for this stage and focus only on the little U's for each edge. If they are touching the center of the same color then the edge is in the correct orientation. If the U needs to be exchanged with the corresponding U on the other side of the gear, then that edge needs to be flipped.
edge-flipper: R F U R F U flips all edges except those parallel to F (i.e. RU, RD, LU, LD)
If any edges need to be flipped it should be possible to orient the puzzle such that a single application of edge-flipper fixes all of the edges.
Finally we are ready to fix the gears. Turning a face 4 times brings all of the pieces back to their starting location, but spins the gears in the middle layer 1/3 of a rotation. So to fix the gears parallel to R (i.e. UF, UB, DF, DB), either do RRRR or R'R'R'R'. Which one depends on which way the gear needs to be rotated, but if you guess wrong just keep going in the same direction another 4 moves. Usually I'm to lazy to figure it out and I just spin R until those four gears look right, then I re-orient the puzzle and fix another group of gears. Each of the three gear layers can be solved independently without disturbing the other two, making this portion of the puzzle quite simple.
The gearball looks complicated, and it can be hard to see where you are at until you get used to looking at the strange pieces. However, the puzzle itself is not really that hard. I believe the total number of states are:
Total states is bit over 165,000. This is far less than the 2x2x2 cube (about 3.6 million). Furthermore, simple manipulation of the cube can easily solve the parity and corners, and the final gear orientations are trivial. Thus the meat of the puzzle really only has 64 states.
Rubik's cubes tend to be good examples of various finite groups. Cyclic, Symmetric, and Alternating groups show up fairly often. However, this puzzle is notable in the fact that it has a lot of subgroups that are isomorphic to the Klein Four-Group (K4). For computer programmers, this group can be understood as 2-bit numbers that are combined with a bitwise XOR. In a puzzle, it tends to be an easy group to work with because:
In the Gearball, this group turns up everywhere: