Есть лишь одно возможное объяснение: потому, что он равен нулю (не проверял, но других объяснений быть не может).
Проверка у меня заняла секунды: вспомнить, что можно вычесть первую строку из второй, вторую из третьей и вычесть результаты.
А как тогда лучше всего делать проверку равенства нулю определителя матрицы?
Не численно. С выполнением этого условия - всё равно как.
Или, можете считать численно, а потом сравнивать ответ с нулём с точностью до "машинного эпсилон", который можно установить где-нибудь
1e-10 - за глаза хватит.