Is there a way to get an authenticator without a smartphone and without paying?

Solution 1:

Blizzard used to offer a J2ME-based authenticator for older phones, but they have since discontinued it. They now offer authenticators for iOS, Android, Blackberry and Windows Phone 7.

Other than a phone, your options would therefore be a tablet, iPod (touch), or the physical authenticator.

For those without such a device, the other answers propose alternative means. Android emulation may be a good way to go, seeing as you would still be using the official authenticator.

Solution 2:

You can use WinAuth, which is a popular third party authenticator for Blizzard games. It's not quite as secure as the official means since if someone gains access to your computer they can use the authenticator, but it's far better than nothing(you could probably put it on a flash drive so it isn't always on your computer).