  Solving (mixed) integer linear programs, (M)ILPs for short, is a fundamental
optimization task. While hard in general, recent years have brought about vast
progress for solving structurally restricted, (non-mixed) ILPs: $n$-fold,
tree-fold, 2-stage stochastic and multi-stage stochastic programs admit
efficient algorithms, and all of these special cases are subsumed by the class
of ILPs of small treedepth.
  In this paper, we extend this line of work to the mixed case, by showing an
algorithm solving MILP in time $f(a,d) \textrm{poly}(n)$, where $a$ is the
largest coefficient of the constraint matrix, $d$ is its treedepth, and $n$ is
the number of variables.
  This is enabled by proving bounds on the denominators of the vertices of
bounded-treedepth (non-integer) linear programs. We do so by carefully
analyzing the inverses of invertible submatrices of the constraint matrix. This
allows us to afford scaling up the mixed program to the integer grid, and
applying the known methods for integer programs.
  We trace the limiting boundary of our approach, showing that naturally
related classes of linear programs have vertices of unbounded fractionality.
Finally, we show that restricting the structure of only the integral variables
in the constraint matrix does not yield tractable special cases.
