Let k ≥ 1 be an integer, and let P = (f1(x), . . . , f k (x)) be k admissible linear polynomials over the integers, or the pattern. We present two algorithms that find all integers x where max {fi(x)} ≤ n and all the fi(x) are prime.• Our first algorithm takes at most OP (n/(log log n) k ) arithmetic operations using O(k √ n) space. • Our second algorithm takes slightly more time, OP (n/(log log n) k−1 ) arithmetic operations, but uses only exp O(log n/ log log n) space. This result is unconditional for k > 6; for 2 < k ≤ 6, the proof of its running time, but not the correctness of its output, relies on an unproven but reasonable conjecture due to Bach and Huelsbergen. We are unaware of any previous complexity results for this problem beyond the use of a prime sieve.We also implemented several parallel versions of our second algorithm to show it is viable in practice. In particular, we found some new Cunningham chains of length 15, and we found all quadruplet primes up to 10 17 .