Found an interesting way to solve [[tech:others:color_coordination_puzzle|the color coordination puzzle]]. This puzzle, like most other, can be solved with a computer program, and I did just that. However, with an approach, that I doubt if anyone has ever taken to solving puzzles. \\
Without any more rhetoric here goes: I solved this puzzle using a database SQL, and here are the steps leading up to it (the solution took only milliseconds to process): \\
Create a table called circles:
create table circles
(
blk_num number not null,
color_position number not null,
color_cd char(1) not null
);
Although Primary key needs to be only the 1st two columns I made all three as Primary Key for efficiency. \\
Create the data with: \\
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (1, 0, 'Y');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (1, 1, 'B');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (1, 2, 'R');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (1, 3, 'X');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (1, 4, 'W');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (1, 5, 'G');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (2, 0, 'Y');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (2, 1, 'G');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (2, 2, 'R');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (2, 3, 'W');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (2, 4, 'B');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (2, 5, 'X');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (3, 0, 'Y');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (3, 1, 'X');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (3, 2, 'B');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (3, 3, 'W');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (3, 4, 'R');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (3, 5, 'G');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (4, 0, 'Y');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (4, 1, 'R');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (4, 2, 'W');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (4, 3, 'X');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (4, 4, 'G');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (4, 5, 'B');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (5, 0, 'Y');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (5, 1, 'R');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (5, 2, 'W');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (5, 3, 'G');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (5, 4, 'X');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (5, 5, 'B');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (6, 0, 'Y');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (6, 1, 'G');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (6, 2, 'X');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (6, 3, 'R');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (6, 4, 'W');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (6, 5, 'B');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (0, 0, 'Y');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (0, 1, 'W');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (0, 2, 'B');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (0, 3, 'G');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (0, 4, 'R');
Insert into CIRCLES (BLK_NUM, COLOR_POSITION, COLOR_CD) Values (0, 5, 'X');
COMMIT;
And finally run the SQL: \\
select c11.*,c12.*,c13.*,c14.*,c15.*,c16.*,cc1.*
from
circles c11, circles c12, circles c13, circles c14, circles c15, circles c16,
circles c21, circles c22, circles c23, circles c24, circles c25, circles c26,
circles c31, circles c32, circles c33, circles c34, circles c35, circles c36,
circles cc1, circles cc2, circles cc3, circles cc4, circles cc5, circles cc6
where
c11.blk_num not in (c12.blk_num, c13.blk_num, c14.blk_num, c15.blk_num, c16.blk_num, cc1.blk_num) and
c12.blk_num not in (c11.blk_num, c13.blk_num, c14.blk_num, c15.blk_num, c16.blk_num, cc1.blk_num) and
c13.blk_num not in (c11.blk_num, c12.blk_num, c14.blk_num, c15.blk_num, c16.blk_num, cc1.blk_num) and
c14.blk_num not in (c11.blk_num, c12.blk_num, c13.blk_num, c15.blk_num, c16.blk_num, cc1.blk_num) and
c15.blk_num not in (c11.blk_num, c12.blk_num, c13.blk_num, c14.blk_num, c16.blk_num, cc1.blk_num) and
c16.blk_num not in (c11.blk_num, c12.blk_num, c13.blk_num, c14.blk_num, c15.blk_num, cc1.blk_num) and
cc1.blk_num not in (c11.blk_num, c12.blk_num, c13.blk_num, c14.blk_num, c15.blk_num, c16.blk_num) and
--
c11.blk_num = c21.blk_num and c11.blk_num = c31.blk_num and
c12.blk_num = c22.blk_num and c12.blk_num = c32.blk_num and
c13.blk_num = c23.blk_num and c13.blk_num = c33.blk_num and
c14.blk_num = c24.blk_num and c14.blk_num = c34.blk_num and
c15.blk_num = c25.blk_num and c15.blk_num = c35.blk_num and
c16.blk_num = c26.blk_num and c16.blk_num = c36.blk_num and
--
cc1.blk_num = cc2.blk_num and
cc1.blk_num = cc3.blk_num and
cc1.blk_num = cc4.blk_num and
cc1.blk_num = cc5.blk_num and
cc1.blk_num = cc6.blk_num and
--
mod(c11.color_position+1,6) = c21.color_position and mod(c11.color_position+5,6) = c31.color_position and
mod(c12.color_position+1,6) = c22.color_position and mod(c12.color_position+5,6) = c32.color_position and
mod(c13.color_position+1,6) = c23.color_position and mod(c13.color_position+5,6) = c33.color_position and
mod(c14.color_position+1,6) = c24.color_position and mod(c14.color_position+5,6) = c34.color_position and
mod(c15.color_position+1,6) = c25.color_position and mod(c15.color_position+5,6) = c35.color_position and
mod(c16.color_position+1,6) = c26.color_position and mod(c16.color_position+5,6) = c36.color_position and
--
cc1.color_cd = c11.color_cd and cc1.color_position < cc2.color_position and
cc2.color_cd = c12.color_cd and cc2.color_position < cc3.color_position and
cc3.color_cd = c13.color_cd and cc3.color_position < cc4.color_position and
cc4.color_cd = c14.color_cd and cc4.color_position < cc5.color_position and
cc5.color_cd = c15.color_cd and cc5.color_position < cc6.color_position and
cc6.color_cd = c16.color_cd and
--
c21.color_cd = c36.color_cd and
c22.color_cd = c31.color_cd and
c23.color_cd = c32.color_cd and
c24.color_cd = c33.color_cd and
c25.color_cd = c34.color_cd and
c26.color_cd = c35.color_cd
;
-----------
[[http://www.greylabyrinth.com/discussion/viewtopic.php?p=297857 | Solution posted in forum, search for cmsenthil]]\\
\\
[[tech:others:color_coordination_puzzle_solution_explanation|Puzzle Solution Explanation]]