I want to divide down a rather high clock frequency, 134.217728 MHz (2^27), down to xx frequency. I'm looking at doing so with 4 74LVC161's and 4 hexadecimal rotary switches. The LVC161's are rated up to 200 MHz, and realistically I'm looking at using frequencies lower than 100 MHz, although I could use the MC100EP016AFAG if I'm willing to pony up the $28 per chip. Regardless, the circuit is easy to design. Where I'm stuck is how to program the counters.
I found a reference to a divide-by-256 circuit using two 161's and it mentioned that it is programmed by taking the factor I want to divide by and subtracting it from 256. Using the example provided, if I wanted to divide by 183, I would subtract 183 from 256 and set the inputs of the counters to 73. What the source failed to explain is why. This is where I'm stuck.
I'm planning on using a 16-bit divider. That gives me 65,536 divisions. So, let's say that I want to divide the 134 MHz frequency to a much more reasonable 66 MHz. That would require me to divide by 2.03360193 repeating. That's a problem. 65536 - 2 is NOT 65536 - 2.03360193 repeating. Then I thought that since I have 65536 steps of division possible, if I divide 134,217,728 by 65536 I get 2048 Hz per division. If I multiply 2048 by 32,226, I get 65.998848 MHz, which is close enough. Again, however, 65536 - 32226 is NOT 65536 - 2.03360193 repeating. So... This is a dead end?

It is clear that I lack the knowledge of the underlying processes involved to figure this out. How do I work this out? Is there a handy formula that I can use to divide a frequency by an arbitrary divisor? I do realize that there will be some error unless I'm dividing by a 2^n divisor. Still, it would be nice to be able to take an arbitrary whole number frequency between 2048 Hz and 134 MHZ and calculate a reasonably close divisor to program into the divider.