In this scenario you want to provide a discount on the number of products and not discounts on multiples of the same.
Shopify Plus makes this very easy with a line item script. You can set the qualifying products based on an ID or tag. Then when the customer selects any three products in that qualifying list the discount will be applied. There are many sale variations you can set up without coupon codes (BOGO, free gift with purchase). The downside is that anything with scripts requires the help of a developer because they are written in Ruby code.
We've put together some free Shopify scripts you can copy & paste.
Shopify Plus is a great solution, but it is an investment. Unless this represents an amazing sale for your business, you would want to make sure you could leverage at least three of the Plus features to make it worthwhile.
Currently Shopify Plus is $2,000 a month. If various sales throughout the year net you an extra 10-20% of revenue at least $24,000, Plus just paid for itself.