Как обработать все случаи при решении системы линейных уравнений с двумя неизвестными?
Для решения систем удобнее пользоваться матрицами, и методом Крамера в частности. Это не так страшно, как выглядит. И код получится намного проще и логичней.
if (a != 0) {
                    x = e / a;
                }
                else {
                    x = f / a;
                }
Если a==0, будет деление на 0. Но, возможно, ошибки есть где-то ещё.