To solve this problem, let us first assign some variables. Let us say that:
 x = pigs
 y = chickens
 z = ducks
  
 From the problem statement, we can formulate the following equations:
 1. y + z = 30 ---> only chicken and ducks have feathers
 2. 4 x + 2 y + 2 z = 120 ---> pig has 4 feet, while chicken and duck has 2 each
 3. 2 x + 2 y + 2 z = 90 ---> each animal has 2 eyes only
  
 Rewriting equation 1 in terms of y:
 y = 30 – z
 Plugging this in equation 2:
 4 x + 2 (30 – z) + 2 z = 120
 4 x + 60 – 2z + 2z = 120
 4 x = 120 – 60
 4 x = 60
 x = 15
  
 From the given choices, only one choice has 15 pigs. Therefore the answers are:
 She has 15 pigs, 12 chickens, and 18 ducks.