We consider the standard ILP Feasibility problem: given an integer linear program of the form {Ax = b, x 0}, where A is an integer matrix with k rows and columns, x is a vector of variables, and b is a vector of k integers, we ask whether there exists x ∈ N that satisfies Ax = b. Each row of A specifies one linear constraint on x; our goal is to study the complexity of ILP Feasibility when both k, the number of constraints, and A ∞, the largest absolute value of an entry in A, are small.Papadimitriou [32] was the first to give a fixed-parameter algorithm for ILP Feasibility under parameterization by the number of constraints that runs in time ((. This was very recently improved by Eisenbrand and Weismantel [11], who used the Steinitz lemma to design an algorithm with running time (k∞ , which was subsequently improved by Jansen and Rohwedder [19] We prove that for {0, 1}-matrices A, the running time of the algorithm of Eisenbrand and Weismantel is probably optimal: an algorithm with running time k) would contradict the Exponential Time Hypothesis (ETH).This improves previous non-tight lower bounds of Fomin et al. [12].We then consider integer linear programs that may have many constraints, but they need to be structured in a "shallow" way. Precisely, we consider the parameter dual treedepth of the matrix A, denoted tdD(A), which is the treedepth of the graph over the rows of A, where two rows are adjacent if in some column they simultaneously contain a non-zero entry. It was recently shown by Koutecký et al. [26] that ILP Feasibility can be solved in time 1) . We present a streamlined proof of this fact and prove that, again, this running time is probably optimal: even assuming that all entries of A and b are in {−1, 0, 1}, the existence of an algorithm with running time 2 2 o(td D (A))• (k + ) O(1) would contradict the ETH.