5
Suppose I just used vanitygen to create this key:
Pattern: 1a
Address: e1aMGYXuGpUwDGH9gz3ZBs8UH746nRdEk6
Privkey: 5KhCszBi22hEZZixPEQkLAMtUVkxbGaxBFsH7a9iefqrxHmSXgH
All I had to do to import this key was import the Privkey. Nothing with "Address' was needed with ImportPrivKey.
I'd like to know the technical details on how the Address can be extracted when all that is known is the private key.
I've read this and this question, but still haven't found the secret sauce on how an Address is calculated or found in binary format given only a private key. How is the Address extracted from the private key alone?
My intent is to learn this process and implement it in C#. Note that I already know the Base58Check format, and there is no mention of the private key in any wiki I've seen regarding that.

Getting public key from a private key would be better answered in a cryptography SE, as it is not Bitcoin-specific. – ThePiachu – 2012-12-18T08:25:08.993
It could be made Bitcoin-specific if we exchange the term "address" for the term "public key" - although the base question (and its answer) is still the same. – David Perry – 2012-12-19T05:55:56.093
@DavidPerry I'm breaking that habit... ;) and updated the post – goodguys_activate – 2012-12-19T06:39:07.833