I am not able to search for algorithms which can help me solve this problem, I am not sure under which category this problem falls or which algorithm to use.Problem statement:There are N number of suppliers who supply Sugar, each supplier has Supplier Location (latitude, longitude) of their warehouse from which they will supply and they also have a 'maximum_radius' to which they can supply.Now, if a user comes and gives his location User Location (latitude, longitude), how do I find who all suppliers can supply to that place.The only solution I can think if go to each Supplier Location, calculate the distance to User Location, and check if it falls within maximum_radius of the supplier. But this seems slow, as the number of suppliers will increase over time. 
How to find suppliers who can supply to me?
algorithms
From the comments, it appears that you are dealing with 1 000 points.The usual way to compute a distance between two points, p1 and p2, is:sqrt(pow(p1.x - p2.x, 2), pow(p1.y - p2.y, 2))I attempted to measure the time it takes to do the operation in C# on a 2.10 GHz CPU (no parallelization, so the number of cores doesn't matter), and failed. With 10 000 000 points, it takes approximately 2 050 milliseconds, which means 0.205 ms. for 1 000 points.Before trying to optimize your code, make sure that this part is actually the bottleneck, i.e. it was identified by a profiler as the part which makes your application slow. Otherwise, you're doing premature optimization, and you shouldn't do that.If the profiler actually indicated that this is the slowest part of your code, I would suggest exploring a few optimization alternatives:Compare the actual x and y distances before doing pow and sqrt stuff. If abs(p1.x - p2.x) is 200 and the maximum distance is 100, there is no need to continue: the points are too far away from each other.Use a map (similar to an OLAP cube with coordinates and distances being the dimensions of the cube) and approximate the point coordinates to make the map small enough. Note that you should be very careful with that: the time to do I/O may have a much larger impact than doing the actual calculation.