Из 29 чел у 3 не было ни кошки, ни собаки. Значит, 26 имели или одну кошку, или одну собаку, или обоих.
Кошки были у 12, значит, у 26 - 12 = 14 кошек не было, только собаки.
Собаки были у 18, из них у 14 была только собака, как мы уже узнали.
Значит, у 18 - 14 = 4 человек были сразу и кошка, и собака.
Можно и наоборот посчитать.
Собаки были у 18, значит, у 26 - 18 = 8 собак не было, только кошки.
Кошки были у 12, из них у 8 были только кошки, как мы выяснили.
Значит, у 12 - 8 = 4 человек были и кошка, и собака.