From Bulbapedia, the community-driven Pokémon encyclopedia.
A move tutor (Japanese: わざおしえ人 Move Teacher) is a non-player character who will teach a Pokémon moves that are not normally able to be learned through level up, TMs, or HMs. Move tutors are found in Kanto, Johto, Hoenn, Orre, and Sinnoh. They are not to be confused with move relearners.
Johto move tutors
In Pokémon Crystal, an elderly fellow visits Goldenrod City's Game Corner every Wednesday and Saturday after the player has become League Champion. He teaches three different moves for 4000 coins, two of which were TMs in Generation I and returned to that status in Generation III, and one of which later became a TM with the other two. These moves are breedable in the same fashion as TMs and HMs.