I'm implementing the Simplex method of Linear Programming using Gaussian elimination. However, I'm not certain how to detect infeasible solutions. I've checked many resources, and they all give GRAPHICAL examples, which are useless in a program.
There are a plenty of questions on SE about Simplex, and I've searched through ones that seemed relevant, but couldn't find exactly my question answered. If you find one, please refer me.
For example, here's an input tableau,

and, after all the row reduction I am left with:

So, specifically, when applying row reduction in the Simplex method inside a program, how should my code detect that a solution is infeasible? What am I looking for in the final tableau?
The far left column is the objective variable P, and the top row is the objective function.
p.s. I tried embedding the pictures of the tableaus into the editor, but it just gave links. I'm not sure how to show them, but if someone tells me, I'll update the question.