This is basically asking you to find the number of vertices

of a complete graph that has 91 edges. (I've attached an example of one where

, taken from Wiki "complete graph" article)
Let's say you have

unconnected vertices, each labelled with a number

(just for the purpose of tracking which ones you've already taken into account). Draw edges connecting

to all the other vertices. There are

possible edges you can draw.
Now starting from

, there's already an edge between it and

, which means there are

other possible edges that you can draw.
Next, from

, you can only draw

new edges because

is already connected to

and

.
Continuing in this pattern, you find that the second-to-last edge,

can only be connected once to

, and finally arriving at

you find that all possible connections have been exhausted.
The takeaway here is that the total number of possible connections is the sum

Writing the terms in reverse order, you have

So now if you add up the first, second, ..., terms of the two equivalent sums, you have


In other words, you're adding up

,

times (since each

corresponds to a distinct vertex), so you have

Dividing by 2, you end up with

Now, since you know that 91 handshakes took place in total, you have

Obviously, we omit the negative solution, so there were 13 people at the meeting.