Snippet

project_euler/6.rb
Code:
# Project Euler Problem 6: Sum Square Difference

# https://projecteuler.net/problem=6

# The sum of the squares of the first ten natural numbers is,
#   1^2 + 2^2 + ... + 10^2 = 385.
# The square of the sum of the first ten natural numbers is,
#   (1 + 2 + ... + 10)^2 = 55^2 = 3025.
# Hence the difference between the sum of the squares of the
# first ten natural numbers and the square of the sum is
#   3025 - 385 = 2640.
# Find the difference between the sum of the squares of the
# first one hundred natural numbers and the square of the sum.

def solve(n)
    a = (1..n).map { |m| m ** 2 }.sum
    b = (1..n).sum ** 2
    return b - a
end

puts solve(10)
puts solve(100)
Output:
2640
25164150