We present an algorithm that, given a finite algebraA generating a congruence distributive (CD) variety, determines whether this variety has first order definable principal congruences (DPC). In fact, DPC turns out to be equivalent to the extendability of the principal congruences of certain subalgebras of the algebras in HS(A 3). To verify this algorithm, we investigate combinatorial properties of finite subdirect powers ofA. Our theorem has a relatively simple formulation for arithmetical algebras. As an application, we obtain McKenzie's result that there are no nondistributive lattice varieties with DPC.