Non-repeatable - Sprout Tower (Defeat Elder Li)
Repeatable - Goldenrod Department Store 5F ($1000)
TM70 (Bulbapedia)
Hope This Helps :D
go to north in violet city(where 1st gym is) You'll find a tower called "sprout tower" go to the top, and defeat the elder Li