A viral icosahedral shell is classified using the T-number and the corresponding Diophantine equation x_ + xy + y_ = T. The problem of finding the ordered pairs (x, y) that represent T by trial and error or by brute force is not efficient. A new approach has been addressed in this thesis. The problem is equivalent to that of finding the number of non-negative solutions to the Diophantine equation x_ + xy + y_ = T. In other words, the number of pairs (x, y) where x and y are non-negative integers. Using tools from algebra and number theory, namely, units, unique factorization domains, and algebraic integers, we provide necessary and sufficient conditions for the equation to be solvable. In the affirmative case, the number of solutions is given in terms of the prime-power factorization of T. Finally, a deterministic polynomial-time algorithm for finding the solutions is also given and implemented in Maple.