Which algorithms or methods can be used to detect an outlier from this data set?
You can use BoxPlot for outlier analysis. I would show you how to do that in Python:

Consider your data as an array:

a = [100, 50, 150, 200, 35, 60 ,50, 20, 500]


Now, use seaborn to plot the boxplot:

import seaborn as sn
sn.boxplot(a)


So, you would get a plot which looks somewhat like this:



Seems like 500 is the only outlier to me.  But, it all depends on the analysis and the tolerance level of the analyst or the statistician and also the problem statement.

You can have a look at one of my answers on the CrossValidated SE for more tests.

And there are several nice questions on outliers and the algorithms and techniques for detecting them.

My personal favourite is the Mahalanobis distance technique.