There is quite a bit of theory behind, of course, but I had trouble finding a higher-level description of it on the internet. Basically you replace the XOR operations in the feedback loops with arithmetic multiplication and addition modulo n.
It turns out that there exists a generalization of the LFSR for n states. Exception is the state that contains all zeroes, but that is easy to correct with a special case. for each step they insert a single digit at the beginning of the register and drop one at the end). These are digital circuits that will generate all 2 m-1 different sequences of length m in a shift register (i.e. Linear feedback shift registers are actually direct solutions to such a problem, albeit only if you limit yourself to two characters ( n = 2). As Luka Rahne pointed out to me (on Facebook, no less), there's a different branch of mathematics that offers a much better approach to this problem and even has a connection to my home field of electronics. It turned out my venture into the graph theory was a bit of a dead end. In my last post I was trying to figure out an optimal strategy for guessing a combination for a lock that only checks the last m symbols entered.