All about flooble | fun stuff | Get a free chatterbox | Free JavaScript | Avatars    
perplexus dot info

Home > General > Word Problems
Letter Cubes 6 (Posted on 2025-02-18) Difficulty: 3 of 5
Lex has a set of four cubes, each with a letter on each of its six faces. Each of the 24 faces is different.

Lex was playing with these cubes the other day and formed the following 16 words:

    OPEN   OWNS   TERN   FEUD
    GAUD   PAUL   DAZE   AVOW
    IAMB   XYST   BUND   CUKE
    DEFY   RICE   HOPS   SHUT

Identify the letters found on each cube; the order of the cubes doesn't matter.


Adapted from BENT Brain Ticklers, Winter 2024.

  Submitted by Charlie    
No Rating
Solution: (Hide)
BEGLSV

ACFHNX

MORUYZ

DIKPTW

clearvars
words=['open';
  'gaud'
  'iamb'
  'defy'
  'owns'
  'paul'
  'xyst'
  'rice'
  'tern'
  'daze'
  'bund'
  'hops'
  'feud'
  'avow'
  'cuke'
  'shut'];
avail='abcdefghiklmnoprstuvwxyz';
cubes={{'o'} {'p'} {'e'} {'n'}};
for i=1:4
  l=cubes{i}{1};
  canhave=avail;
  for j=1:length(words)
    if contains(words(j,:),l)
      for k=1:4
        canhave=setdiff(canhave,words(j,:));
      end
    end
  end
  disp(l)
  eval([l 'set0=''' canhave ''''] )
  disp(canhave)
end

eset=eset0;
idx=combinator(length(eset),5,'c');
esets5=eset(idx);
for i=1:length(esets5)
  eset5=esets5(i,:);
  nset=setdiff(nset0,eset5);
  idx=combinator(length(nset),5,'c');
  nsets5=nset(idx);
for j=1:size(nsets5,1)
  nset5=nsets5(j,:);
  oset=setdiff(oset0,[eset5 nset5]);
  idx=combinator(length(oset),5,'c');
  osets5=oset(idx);
for k=1:size(osets5,1)
  oset5=osets5(k,:);
  pset=setdiff(pset0,[eset5 nset5 oset5]);
  pset5=pset;
  if length(pset5)==5
    g=[eset5 'e';nset5 'n';oset5 'o';pset5 'p'];
    good=true;
    for ii=1:length(words)
      word=words(ii,:);
      rows=[];
      for jj=1:4
        [f ~]=find(g==word(jj));
        if isempty(f)
          break
        end
        if ismember(f,rows)
          good=false;
          break
        end
        rows(end+1)=f;
      end
      if ~good
        break
      end
    end
    if good
      disp(sort(g,2))
      disp(' ')
    end
  end
end
end
end

Comments: ( You must be logged in to post comments.)
  Subject Author Date
solnSteven Lord2025-02-18 18:39:02
Please log in:
Login:
Password:
Remember me:
Sign up! | Forgot password


Search:
Search body:
Forums (0)
Newest Problems
Random Problem
FAQ | About This Site
Site Statistics
New Comments (9)
Unsolved Problems
Top Rated Problems
This month's top
Most Commented On

Chatterbox:
Copyright © 2002 - 2025 by Animus Pactum Consulting. All rights reserved. Privacy Information