When first confronted with this problem, I tried to solve it by writing and running a Prolog program. That did, however, not help me any further because this problem has lots of equivalences inside, and I simply did not know how to deal with equivalences using a Prolog implementation with depth-first search. Disillusioned, I turned off my computer and solved it with pen and paper, which took me about half an hour.

Situation:
There are five men. Each of these men lives in a house with a certain color, has a certain nationality, prefers a certain drink, has got a certain pet and smokes a certain brand of tobacco.

NationalitiesHouse colors DrinksPetsTobacco brands
BritishblueBeerBirdDunnhill
DanishgreenCoffeeCatMarlboro
GermanredMilkDogPall Mall
NorwegianwhiteTeaFishRothmann's
SwedishyellowWaterHorseWinfield

Constraints: Question:
Who owns the fish?