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.