Ci sono 2 casi di errore: quando a = 0 (tenti di dividere per 2a) e quando il determinante è minore di 0.
Devi controllare che a sia diverso da 0 prima di poter effettuare una divisione e distinguere i vari casi per il determinante (che è ciò che ti porta l'errore in virgola mobile!).
Ti vengono almeno 12 casi per il determinante (3 per ognuna delle possibilità che hai dato all'utente), poi devi anche controllare il caso di a=0 prima di effettuare la divisione.
Ciao.