I use it as my HM slave, b/c it can learn half of the HMs
Linoone (It can learn nearly all of the HM's)
im not sure, but i think seedot can, and Zigzagoon/Linnone. I don't have a list of Pokemon that can learn it, but Zigzagoon is a good choice. (i carry a few zigzagoons around to act as my HM slaves.)
Yes, Zigzagoon is able to learn Surf.
Zigzagoon and liloone
Zigzagoon cannot learn flash in ruby
In Pokemon ruby, sapphire, and emerald, Zigzagoon cannot learn the move dig.
Zigzagoon wouldn't be able to learn Dig by leveling up. You will need to give it the TM Dig to teach Zigzagoon.
In the game Pokemon Zigzagoon does not learn surf as it levels up. The only way this Pokemon can learn this move is with HM03.
yes
I suggest you to catch a Zigzagoon because it can learn various HM's, including Rock Smash. If you really want to put Rock Smash on Golem or you don´t want catch Zigzagoon or something (i understand that), switch with Rock Blast (it's 2 to 5 turns, normally that type of attacks sucks :P) .
Tropius and Gyarados together can learn all of the HM's.