¿Cómo puedo prefijar correctamente una palabra con "a" y "an"?

Tengo una aplicación .NET donde, dado un sustantivo, quiero que prefijo correctamente esa palabra con "a" o "an". ¿Como podría hacerlo? Antes de pensar que la respuesta es simplemente verificar si la primera letra es una vocal, considere frases como: un error honesto un auto usado...