I have a lot of systems of equations and inequalities of the following form:


$$ a\_{1,1}x+a\_{1,2}y+a\_{1,3}z+a\_{1,4}w = 2 $$
$$ \ldots $$
$$ 0 < x < 2 $$
$$ 0 < y < 2 $$
$$ 0 < z < 2 $$
$$ 0 < w < 2
$$


There are always at least two equations, and I probably won't consider cases with more than twenty equations. All coefficients $a\_{i,j}$ are positive integers and some can be zero. We also have the property that $\sum\_{j=1}^4a\_{i,j}\geq3$ for all $i$. The solutions are real numbers.


I don't need to solve these systems, but I need to be able to tell whether there exists a solutions. If it isn't possible to tell for each system whether it is consistent or not, any method which identifies as many inconsistent systems as possible is greatly appreciated.


I have a few hundred millions of these systems, so I'm specifically looking for things that can easily be turned into a program. (I know the basic techniques to do this by hand, and am looking for some handy tricks that can be done by a computer. I have some programming experience, but not really with programming this kind of problems.)



Checking consistency of a system of linear equations and inequalities
There is a criterion for solvability of a system of strict inequalities $Mt\lt b$ due to Carver (cf. A.Schrijver "Theory of linear and integer programming", Sect. 3.7.8). It says that $Mt\lt b$ is solvable if and only if $v=0$ is the only solution of the system 
\begin{equation}\label{eee} v\geq 0,\ M^\top v=0,\ v^\top b\leq 0.\qquad \qquad (\*)\end{equation}


Let us see how to get $Mt\lt b$. To do this, let $\zeta=\frac{1}{2}(x,y,z,w)$, and write your linear equations as $A\zeta=e$, where $e$ denotes all-1 vector. If this system has no solution, done. If it has only one solution, you can check it with your inequalities directly. If there are several solutions, linear algebra software will be able to rewrite your system in the form $(I\ B)\zeta'=d$, where $I$ is the identity matrix of size 1, 2, or 3, $B$ is a matrix of the appropriate size, and $\zeta'$ is a permutation of the original variables $\zeta$. In other words it gives you expressions $\zeta'\_k=d\_k-\sum\_{j\neq k} B\_{kj}\zeta'\_j$, for $1\leq k\leq m$, and $m$ being 1, 2, or 3, depending upon $A$.


This reduces your original system to the system of strict inequalities in the remaining unexpressed $\zeta'$. (i.e. in $4-m$ variables). 


Finally, apply Carver's criterion by solving a linear programming problem: $\max\sum\_{i} v\_i$ subject to $(\*)$. If this maximum is strictly bigger than 0 then the original system $Mt\lt b$ has no solution, otherwise it does have one. 


