Real World Business App
If you do the checks in ascending order, you don't need greater then checks.
Since the only difference is the value of discount, you could use a dictionary.

static void Main(string[] args)
{
    Console.WriteLine("Please enter the quanitity of the product bought.");
    var x = Console.ReadLine();
    int x1 = int.Parse(x);

    Console.WriteLine("Please enter the price of the product bought.");
    var y = Console.ReadLine();
    double y1 = double.Parse(y);

    Dictionary&lt;int, double&gt; discountLevels = new Dictionary&lt;int, double&gt;
    {
        {100, 0.1},
        {200, 0.12},
        {500, 0.15}
    };

    double discount = 0.2;
    foreach (var discountLevel in discountLevels.OrderBy(discountLevel =&gt; discountLevel.Key))
    {
        if (x1 &lt;= discountLevel.Key)
        {
            discount = discountLevel.Value;
            break;
        }
    }

    double outValue = 0;
    outValue = returnTotal(discount, y1, x1);
    Console.WriteLine("The total with the discount is R{0}", outValue);
}


The OrderBy ensures that the checks are done in the correct order.