%% File: solve.erl %% @author Richard Carlsson -module(solve). -export([it/0]). %% Problem: VIER and NEUN are 4-digit squares; determine distinct V, I, %% E, R, N, and U, such that there is a unique solution (VIER,NEUN) for %% some particular E. it() -> Qs = [integer_to_list(S) || S <- [X*X || X <- lists:seq(32,99)]], Ps = [{E,{Vr,Nn}} || [N,E,_U,N]=Nn <- Qs, [_V,_I,E1,_R]=Vr <- Qs, E =:= E1, length(ordsets:from_list(Nn++Vr)) =:= 6], D = lists:foldl(fun ({E,_}, D) -> dict:update_counter(E,1,D) end, dict:new(), Ps), [P || {E,1} <- dict:to_list(D), {E1,P} <- Ps, E=:=E1].